小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题,条码和二维码的的指令怎么玩?
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
最近才遇到,已经实现了,可以说下思路,首先读取二维码内容(wx.canvasGetImageData),格式为Uint8ClampedArray(图像像素点数据,一维数组,每四项表示一个像素点的 rgba),此时的数据需要4位转成一位,然后将图片黑白化,规则是rule = 0.29900x+ 0.58700y+ 0.11400z,当rule>200的时候,值取0,表示不打印,否则取1,表示打印;( 这个可以在网上找黑白化教程),这个时候再将数据每8位转成1位(
for
(let k = 0; k < arr.length; k += 8) {
let temp = arr[k] * 128 + arr[k + 1] * 64 + arr[k + 2] * 32 + arr[k + 3] * 16 + arr[k + 4] * 8 + arr[k + 5] * 4 + arr[k + 6] * 2 + arr[k + 7] * 1
data.push(temp);
}
),这就是最后可以打印的数据数组了,由于打印的内容需要是ArrayBuffer以及gb2312格式,并且需要指令(ESC-POS指令),所以还需要转格式,可以安装buffer。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
有没有demo提供下看看
一楼说的内容应该是篇文章,但是这个文章写得好晦涩,看不明白 https://blog.csdn.net/cfujiC/article/details/86013122
请问这个打印二维码和条形码,您实现了吗?
+1,我也想了解这个问题,你一定要在小程序中打印吗,可以试一下小程序调用后台打印
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
最近才遇到,已经实现了,可以说下思路,首先读取二维码内容(wx.canvasGetImageData),格式为Uint8ClampedArray(图像像素点数据,一维数组,每四项表示一个像素点的 rgba),此时的数据需要4位转成一位,然后将图片黑白化,规则是rule = 0.29900x+ 0.58700y+ 0.11400z,当rule>200的时候,值取0,表示不打印,否则取1,表示打印;( 这个可以在网上找黑白化教程),这个时候再将数据每8位转成1位(
for
(let k = 0; k < arr.length; k += 8) {
let temp = arr[k] * 128 + arr[k + 1] * 64 + arr[k + 2] * 32 + arr[k + 3] * 16 + arr[k + 4] * 8 + arr[k + 5] * 4 + arr[k + 6] * 2 + arr[k + 7] * 1
data.push(temp);
}
),这就是最后可以打印的数据数组了,由于打印的内容需要是ArrayBuffer以及gb2312格式,并且需要指令(ESC-POS指令),所以还需要转格式,可以安装buffer。
有没有demo提供下看看
一楼说的内容应该是篇文章,但是这个文章写得好晦涩,看不明白 https://blog.csdn.net/cfujiC/article/details/86013122
请问这个打印二维码和条形码,您实现了吗?
+1,我也想了解这个问题,你一定要在小程序中打印吗,可以试一下小程序调用后台打印