分类: 其他平台
2014-01-08 15:29:20
二维码的优化与之前提到的一维码的优化不同,我们需要同时调整垂直和水平大小。》》》
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 )