मैं एक एंड्रॉइड ऐप में थर्मल ब्लूटूथ प्रिंटर के माध्यम से रसीद में एक छवि प्रिंट कर रहा हूं। मुद्दा यह है कि छवि के माध्यम से रेखाएं दिखाई दे रही हैं। मैं लाइनों को कैसे हटा सकता हूं? छवि नीचे एम्बेड की गई है

Lines are displayed through the qrcode

मेरे द्वारा उपयोग किया जाने वाला कोड नीचे दिखाया गया है

    int lineWidth = 384;

    int size0NoEmphasizeLineWidth = 320 / 8; //line width / font width
    String singleLine = "";
    String singleLine2 = "";
    int size0NoEmphasizeLineWidth2 =200 / 5;
    for(int i = 0; i < size0NoEmphasizeLineWidth; ++i) {
        singleLine += "-";
    }
    for(int i = 0; i < size0NoEmphasizeLineWidth2; ++i) {
        singleLine2 += "-";
    }
    String doubleLine = "";
    for(int i = 0; i < size0NoEmphasizeLineWidth; ++i) {
        doubleLine += "=";
    }

    int id = R.drawable.qrcode;
    Bitmap logoBitmap = BitmapFactory.decodeResource(context.getResources(),id);
    int logoTargetWidth =150;
    byte[] d1 = convertBitmap(logoBitmap, logoTargetWidth, 150);


    try {
        OutputStream baos = mBluetoothSocket.getOutputStream();
        baos.write(INIT);
        baos.write(POWER_ON);
        baos.write(NEW_LINE);
        baos.write(ALIGN_CENTER);
        baos.write(SELECT_BIT_IMAGE_MODE);
        baos.write(PrinterCommandsAlgon.FEED_LINE);
        baos.write(SET_LINE_SPACING_30);

        for(int j = 0; j < d1.length / logoTargetWidth; ++j) {
         baos.write(hexToByteArray("1B2A00"));
         baos.write((byte)logoTargetWidth);
         baos.write((byte)(logoTargetWidth >> 8));
         byte[] temp = new byte[logoTargetWidth];
         System.arraycopy(d1, j * logoTargetWidth, temp, 0, temp.length);
         baos.write(temp);
         baos.write(NEW_LINE);
         }

        baos.write(NEW_LINE);
        baos.write(CHAR_SPACING_0);

        baos.write(FONT_SIZE_0);
       
          baos.write(NEW_LINE);
0
ewom2468 27 अप्रैल 2021, 19:20

1 उत्तर

सबसे बढ़िया उत्तर

शायद इसलिए कि लाइन स्पेसिंग 30 डॉट्स पर सेट है।

baos.write(SET_LINE_SPACING_30);

कृपया अपने द्वारा सेट किए गए मान को 24 बिंदुओं या उसके निकट बदलने का प्रयास करें।
अगर यह सही ऊंचाई नहीं है, तो अलग-अलग मान आज़माएं.

0
kunif 28 अप्रैल 2021, 01:58