由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