Andriod 实现操作 蓝牙打印机 打印二维码

合乎但是 2016-03-16 09:08:44
1.使用的是 毕索龙R200ll 蓝牙打印机,通过在手机端输入 字符内容 ,点击打印,实现在蓝牙打印机打印出相应的二维码。
2.现在已经实现:在手机上可以根据输入内容,成功生成相应二维码。
3.问题是:我试着将生成的二维码图片转换成bite[]数组,输出给蓝牙打印机打印,出现了问题。
4.请各位大神帮忙解决下这个问题,谢谢。
以下是我将二维码转换成bite[]数组的方法:
public static byte[] draw2PxPoint(Bitmap bit) {
byte[] data = new byte[16290];
int k = 0;
for (int j = 0; j < 15; j++) {
data[k++] = 0x1B;
data[k++] = 0x2A;
data[k++] = 33; // m=33时,选择24点双密度打印,分辨率达到200DPI。
data[k++] = 0x68;
data[k++] = 0x01;
for (int i = 0; i < 360; i++) {
for (int m = 0; m < 3; m++) {
for (int n = 0; n < 8; n++) {
byte b = px2Byte(i, j * 24 + m * 8 + n, bit);
data[k] += data[k] + b;
}
k++;
}
}
data[k++] = 10;
}
return data;
}
public static byte px2Byte(int x, int y, Bitmap bit) {
byte b;
int pixel = bit.getPixel(x, y);
int red = (pixel & 0x00ff0000) >> 16; // 取高两位
int green = (pixel & 0x0000ff00) >> 8; // 取中两位
int blue = pixel & 0x000000ff; // 取低两位
int gray = RGB2Gray(red, green, blue);
if ( gray < 128 ){
b = 1;
} else {
b = 0;
}
return b;
}
private static int RGB2Gray(int r, int g, int b){
int gray = (int) (0.29900 * r + 0.58700 * g + 0.11400 * b); //灰度转化公式
return gray;
}
...全文
1180 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
影舞猪猪 2019-08-22
  • 打赏
  • 举报
回复
android_xiaoli 2017-12-06
  • 打赏
  • 举报
回复
请问博主,问题解决了吗,我打印出来的二维码是乱码,一长条黑色的
ze_lin_huang 2017-05-22
  • 打赏
  • 举报
回复
楼主问题解决没有,给个回复。我的问题也是空行打印,图片出现多段,怎么解?有大神知道吗?
beaulo 2017-05-10
  • 打赏
  • 举报
回复
楼主问题解决没有,给个回复。我的问题是空行打印,图片出现多段,怎么解?
残梦之翼 2016-11-26
  • 打赏
  • 举报
回复
楼主问题解决没,发给demo我研究下好吗,714570221@qq.com
合乎但是 2016-03-16
  • 打赏
  • 举报
回复
合乎但是 2016-03-16
  • 打赏
  • 举报
回复

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧