海报长图二维码识别不到问题

之前写的h5截长图(html2canvas保存图片).的链接在这
项目虽然上线,还没开始推

然后发现一个问题,选中所有选项后图片太长,二维码相对来说太小,无论是扫一扫还是长按识别都识别不出来(有的图可以,有的图不行,同一套代码)。

解决办法也简单粗暴,就是把二维码尺寸加大

一般来说,长按识别需要的二维码大小比扫一扫需要的大,这个项目是750x2896的长图,二维码大小为88x88即可识别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果使用zxing生成的二维码中包含中文字符,那么在二维码时可能会出现识别不了中文的情况。这是因为zxing默认使用ISO-8859-1编码,而中文字符需要使用UTF-8编码。 为了解决这个问题,您可以在生成二维码时将数据字符串转换为UTF-8编码。例如: ``` String data = "你好,世界!"; int width = 500; int height = 500; BitMatrix bitMatrix = new MultiFormatWriter().encode(new String(data.getBytes("UTF-8"), "ISO-8859-1"), BarcodeFormat.QR_CODE, width, height); BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix); ``` 在这个例子中,我们将数据字符串从UTF-8编码转换为ISO-8859-1编码,然后再生成二维码。这样就可以在二维码时正确识别中文字符了。 同样,在二维码时,您需要确保使用UTF-8编码来解码二维码数据。例如: ``` @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (result != null) { if (result.getContents() == null) { Log.d(TAG, "Cancelled scan"); } else { try { String utf8String = new String(result.getContents().getBytes("ISO-8859-1"), "UTF-8"); Log.d(TAG, "Scanned: " + utf8String); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } else { super.onActivityResult(requestCode, resultCode, data); } } ``` 在这个例子中,我们首先将二维码数据从ISO-8859-1编码转换为UTF-8编码,然后再处理描结果。这样就可以正确识别包含中文字符的二维码了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值