由C#编写的个性二维码底层,已应用到 码晒客/疯狂创意二维码等项目上,并得到多项软件著做专利。git
疯狂创意二维码github
疯狂创意二维码是可用于生成风格独特的个性化二维码生成器,用户能够将目标信息输入到二维码生成器中,生成相应的个性二维码,而后输出为相应图片格式并保存。输入信息能够是:数字、网址、文字、微信、微博以及名片信息等,用户能够将想要生成二维码的信息批量导入,进行自动化批量生成导出处理。微信
码晒客ide
码晒客,由元创信息科技倾力打造,中国首款二维码个性制做神器,史上最能晒的二维码制做软件。该软件具有自动更新功能,一直服务作到用户满意。网站
要求:this
C#,.net 4.0以上spa
引入 lib\Yc.QrCodeLib.dll.net
手脚架:code
//建立个性二维码类库 Yc.QrcodeLib.XXX
//建立QrEncode 类 QrEncode.cs
//继承 CustomEncode public class QrEncode : Yc.QrCodeLib.custom.CustomEncode
//生成验证 public QrEncode(string key) : base(key) { }
public override void SetParam() { base.SetParam(); //TODO:设置具体参数 }
//个性二维码生成最小单元 public override Bitmap Encode(string content) { try { matrix = QrCodeEncoder.calQrcode(EnCoding.GetBytes(content)); } catch { throw new Exception("内容超出范围,请选择更高版本或者下降容错率"); } this.SetParam(); //SolidBrush Backbrush = new SolidBrush(QrCodeEncoder.QRCodeBackgroundColor); SolidBrush Backbrush = new SolidBrush(Color.Transparent);//背景透明 SolidBrush Forebrush = new SolidBrush(QrCodeEncoder.QRCodeForegroundColor); Bitmap image = new Bitmap(this.QrCodeW, this.QrCodeH); Graphics g = Graphics.FromImage(image); Rectangle rect = new Rectangle(); g.FillRectangle(Backbrush, new Rectangle(0, 0, image.Width, image.Height)); for (int i = 0; i < matrix.Length; i++) { for (int j = 0; j < matrix.Length; j++) { rect = new Rectangle((j + this.SpacingW) * QrCodeEncoder.QRCodeScale, (i + this.SpacingH) * QrCodeEncoder.QRCodeScale, QrCodeEncoder.QRCodeScale, QrCodeEncoder.QRCodeScale); if (matrix[j][i]) { ChangeFillShape(g, Forebrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush); } else ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush); } } return image; }
如下是开源地址,国外github,国内oschina.netblog
oschina.net:
http://git.oschina.net/cheng5x/Yc.QrCode
github:
https://github.com/cheng5x/YcQrCode
码晒客讨论QQ群:28629273