個性二維碼開源專題<介紹篇>

由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;
        }

 

Yc.QrCodeLib.SuperMario Yc.QrCodeLib.Original Yc.QrCodeLib.Needle Yc.QrCodeLib.LightBulb Yc.QrCodeLib.HeartBalloon 
Yc.QrCodeLib.Colorful Yc.QrCodeLib.Angry_Birds Yc.QrCodeLib._3ai Yc.QrCode.Lib.Radio Yc.QrCode.Lib.LovingHeart

 如下是開源地址,國外github,國內oschina.netblog

oschina.net:

http://git.oschina.net/cheng5x/Yc.QrCode

 

github:

https://github.com/cheng5x/YcQrCode

 

官方網站:
http://original-ad.com

碼曬客討論QQ羣:28629273

相關文章
相關標籤/搜索