彩票走势图

条码控件TBarCode SDK使用教程:如何实现二维码的优化

原创|使用教程|编辑:郝浩|2013-05-15 14:39:57.000|阅读 602 次

概述:二维码的优化与之前提到的一维码的优化不同,我们需要同时调整垂直和水平大小。在本次的教程中将会给出具体的步骤和示例代码。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

二维码的优化与之前提到的一维码的优化不同,我们需要同时调整垂直和水平大小。》》》免费下载TBarCode SDK最新版

Barcode width = 60 mm

Barcode height = 30 mm (就像常见的二维码PDF417一样) Resolution of the output device = 200 dpi

下面的代码示例显示了完整的优化2D码的计算方法,以便优化之后的2D码符合给定输出设备的分辨率。

1) 指定条码类型和数据。

2) 指定条码尺寸。

为了最优化输出质量我们会做所有的计算符合设备像素。因此给定的大小单位(在这里是mm毫米)必须被转换成设备像素的单位以符合输出设备的分辨率.

LONG ldpi   = 200;                         

LONG lBarcodeWidth = (LONG)ConvertMMToPixel (60.0f, ldpi); // 60 mm --> 472.44pix

LONG lBarcodeHeight = (LONG)ConvertMMToPixel (30.0f, ldpi); // 30 mm -->236.22pix

3) 获取水平和垂直模块数。

这个函数返回的计算得出的条形码所需模块数量。这通常是一个整数!优化对于非整数值将不会进行!

LONG

lCols =  ::BCGet2D_XCols( pBC );

LONG lRows = ::BCGet2D_XRows ; (  pBC  );

avoid division by zero if( lCols > 0 && lRows > 0 )

4) 优化条码的宽和高。

优化后的条码单个模块宽度必须是单个像素的整数倍!

因此需要淘汰所有小数点后的数值。在这个示例中是通过ceil-function函数来处理的。然后模块宽度/高度再乘以模块数。

lBarcodeWidth = (LONG)ceil((DOUBLE)lBarcodeWidth /(DOUBLE)lCols) * lCols; lBarcodeHeight = (LONG)ceil((DOUBLE)lBarcodeHeight/(DOUBLE)lRows) * lRows;

5) 接下来条码的宽度和高度就可以用来创建或者是以图片的形式保存条码。在这个例子中条码将会被保存为图片。

 ::BCSaveImage ( pBC, "C:\\MyBarcode.BMP", eIMBmp,

lBarcodeWidth, lBarcodeHeight, ldpi, ldpi );


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP