zoukankan      html  css  js  c++  java
  • 个性二维码开源专题<介绍篇>

    由C#编写的个性二维码底层,已应用到 码晒客/疯狂创意二维码等项目上,并获得多项软件著作专利。

    疯狂创意二维码

    疯狂创意二维码是可用于生成风格独特的个性化二维码生成器,用户可以将目标信息输入到二维码生成器中,生成相应的个性二维码,然后输出为相应图片格式并保存。输入信息可以是:数字、网址、文字、微信、微博以及名片信息等,用户可以将想要生成二维码的信息批量导入,进行自动化批量生成导出处理。

    码晒客

    码晒客,由元创信息科技倾力打造,中国首款二维码个性制作神器,史上最能晒的二维码制作软件。该软件具备自动更新功能,一直服务做到用户满意。

    要求:

    C#,.net 4.0以上

    引入 libYc.QrCodeLib.dll

    手脚架:

    //创建个性二维码类库
    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.net

    oschina.net:

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

    github:

    https://github.com/cheng5x/YcQrCode

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

    码晒客讨论QQ群:
    28629273

  • 相关阅读:
    POJ 1300 Open Door
    POJ 2230 Watchcow
    codevs 1028 花店橱窗布置
    codevs 1021 玛丽卡
    codevs 1519 过路费
    codevs 3287 货车运输
    codevs 3305 水果姐逛水果街二
    codevs 1036 商务旅行
    codevs 4605 LCA
    POJ 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/cheng5x/p/3772546.html
Copyright © 2011-2022 走看看