• 个性二维码开源专题<介绍篇>


    由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

  • 相关阅读:
    python 自定义异常
    requests
    python 三目运算
    concurrent.futures
    iteratable iterator generator 初步理解总结
    python2 与 python3 的编码
    协程上下文与Job深入解析
    gradle快速入门、groovy环境搭建
    Kotlin项目实战之手机影音---基类抽取、欢迎界面、抽取startactivityandfinish、主界面布局
    Kotlin项目实战之手机影音---项目介绍、项目启动
  • 原文地址:https://www.cnblogs.com/cheng5x/p/3772546.html
Copyright © 2020-2023  润新知