二维条码比一维条码记载数据量更多,二维码条码是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段。而且可以记载更复杂的数据,比如图片等。
本文演示使用asp.net生成店铺推广二维码,二维码中间加logo生成效果如图1。该演示程序使用到了文字转成图片,生成缩略图,图片拼接等,在随附的代码下载中提供了完整的源代码。
图1 程序生成效果
演示程序结构
创建演示程序,我在Visual Studio 2013 选择新建C#空白网站项目,将该项目命名为CreateQRCode,添加默认显示页面Default.aspx,一般处理程序QRCode.ashx是演示程序的核心,二维码处理ThoughtWorks.QRCode.dll,背景图片background.jpg以及小头像HeadPortrait.jpg。图2 显示了演示程序的整体结构。
图2 程序的整体结构
在QRCode.ashx引用三个命名空间,如下
实现System.Web.SessionState.IRequiresSessionState,就可以在一般处理程序QRCode.ashx使用HttpContext.Current.Session。
在GetQRCode方法生成二维码,参数存放待编码内容,定义如下:
在CreateImg方法的三个参数可能来自其他页面,定义如下:
在ConvertStringToImage方法将文字转换成图片,定义如下:
在MakeThumbnail方法生成头像缩略图,定义如下:
在CombinImage方法新建自定义高度,宽度,背景颜色的图片,定义如下:
结束
本文演示使用asp.net生成店铺推广二维码,二维码中间加logo生成效果如图1。该演示程序使用到了文字转成图片,生成缩略图,图片拼接等,在随附的代码下载中提供了完整的源代码。完整的源代码下载链接