(zxing.net)二维码Aztec的简介、实现与解码
程序员文章站
2023-02-20 15:03:15
一、简介 Aztec Code是1995年,由Hand HeldProducts公司的Dr. Andrew Longacre设计。它是一种高容量的二维条形码格式。它可以对ASCII和扩展ASCII码进行编码。当使用最高容量和25%的纠错级别的時候,Aztec可以对3000个字符或者3750个数字进行 ......
一、简介
aztec code是1995年,由hand heldproducts公司的dr. andrew longacre设计。它是一种高容量的二维条形码格式。它可以对ascii和扩展ascii码进行编码。当使用最高容量和25%的纠错级别的時候,aztec可以对3000个字符或者3750个数字进行编码。
aztec的矩阵大小在15 x 15和151 x 151之间变化。每个最小单位非黑即白。
它独特的位于正中的模式识别标志和安置算法使aztec看起来像个旋涡一样。
aztec打印解决方案允许用户选择大小和纠错级别。一共有36中不同的格式供选择,此外还有19种纠错级别可供选择,默认纠错级别是5级23%。高纠错级别意味着更少的数据容量和更小的误码机会。
二、实现
1 public actionresult aztec() 2 { 3 aztecencodingoptions options = new aztecencodingoptions(); 4 options.errorcorrection = 20; //纠错级别 5、10、15、20、23、25、30、35、40、45、50、55、60、65、70、75、80、85、90 一共19个级别 5 options.layers = 0; //数据层 0-32 数字越大图片越复杂 6 options.width = 150; 7 options.height = 150; 8 9 barcodewriter writer = new barcodewriter(); 10 writer.format = barcodeformat.aztec; 11 writer.options = options; 12 13 //如需设置图片为其它颜色,使用此段代码 14 bitmaprenderer renderer = new bitmaprenderer(); 15 renderer.foreground = color.blue; 16 renderer.background = color.white; 17 writer.renderer = renderer; 18 19 bitmap bmp = writer.write("barcodesoft aztec bar code"); 20 memorystream ms = new memorystream(); 21 bmp.save(ms, imageformat.png); 22 ms.flush(); 23 ms.position = 0; 24 return file(ms, "application/x-png"); 25 }
测试图像如下:
三、解码