个性二维码开源专题<介绍篇>
博客专区 > cheng5x 的博客 > 博客详情
个性二维码开源专题<介绍篇>
cheng5x 发表于4年前
个性二维码开源专题<介绍篇>
  • 发表于 4年前
  • 阅读 182
  • 收藏 10
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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

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

 

疯狂创意二维码

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

 

码晒客

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

 

要求:

C#,.net 4.0以上

引入 lib\Yc.QrCodeLib.dll

 

手脚架:

//创建个性二维码类库Yc.QrcodeLib.XXX
//创建QrEncode 类QrEncode.cs
//继承 CustomEncodepublic 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

共有 人打赏支持
粉丝 10
博文 11
码字总数 6729
作品 2
×
cheng5x
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: