Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150552
  • 博文数量: 75
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 749
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-19 11:38
文章分类
文章存档

2014年(38)

2013年(37)

我的朋友

分类: 其他平台

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 )

阅读(904) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~