我试图用iOS和CoreImage创建二维条形码图像,使用CIFilter for CIAztecCodeGenerator。根据文本的长度和纠错级别设置,CIFilter.outputImage有时会返回nil。以下消息仅打印在控制台上:
无法创建条形码。对于Aztec条形码来说,消息太大了。
使用CIQRCodeGenerator时将打印类似的消息。
是否有一种方法可以在代码中捕获CIFilter的此类错误,或者预先发现文本是否太长而无法处理?
非常感谢您的建议!
发布于 2021-08-07 17:03:39
数据的最大大小取决于更正级别以及要编码的邮件类型。例如,如果您的文本只有数字,则使用不同的编码将数据放入条形码中,将允许更多的字符。您不能真正检测到特定的错误,但是您可以始终检查结果是否为零。如果是零,那么可能是因为信标太长了。
的全尺寸格式可以存储多达1914字节的信息数据(包括校正)在32层,产生的条形码图像大小不超过151 x 151像素。
同样在https://help.accusoft.com/BarcodeXpress/v13.2/BxNodeJs/aztec.html,您会发现这个1914字节的值。因此,您可能会假设,不大于1914字节的任何内容都应该由CIAztecCodeGenerator成功编码,但超过该大小的任何编码都可能失败。
https://stackoverflow.com/questions/68692037
复制相似问题