已经实现调用无线打印机打印,但是打印出来的图片全是乱码,编码格式都是统一的,求大神指导一下,谢谢感激不尽,如果有完整demo请发给我参考一下。
以下为调用打印图片的一个方法:
public void draw2PxPoint(Bitmap bmp) throws IOException { int size = bmp.getWidth() * bmp.getHeight() * 4 + 1000; byte[] data = new byte[size]; int k = 0; //设置行距为0的指令 data[k++] = 0x1B; // ESC Escape (转义) data[k++] = 0x33; data[k++] = 0x00; //Null (空) // 逐行打印 for (int j = 0; j < bmp.getHeight() / 24f; j++) { //8 //打印图片的指令 data[k++] = 0x1B; // ESC Escape (转义) data[k++] = 0x2A; data[k++] = 33; data[k++] = (byte) (bmp.getWidth() % 256); //nL data[k++] = (byte) (bmp.getWidth() / 256); //nH //对于每一行,逐列打印 for (int i = 0; i < bmp.getWidth(); i++) { //每一列24个像素点,分为3个字节存储 for (int m = 0; m < 3; m++) { //每个字节表示8个像素点,0表示白色,1表示黑色 for (int n = 0; n < 8; n++) { byte b = px2Byte(i, j * 24 + m * 8 + n, bmp); data[k] += data[k] + b; } k++; } } data[k++] = 10;//换行 } socketOut.write(data); socketOut.flush(); }