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

疯狂创意二维码

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

码晒客

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

要求:

C#,.net 4.0以上

引入 lib\Yc.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(, , image.Width, image.Height)); for (int i = ; i < matrix.Length; i++)
{
for (int j = ; 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.net

oschina.net:

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

github:

https://github.com/cheng5x/YcQrCode

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

码晒客讨论QQ群:
28629273

最新文章

  1. FTP协议及工作原理
  2. Spring-Context之九:在bean定义中使用继承
  3. 【故障处理】ORA-28040: No matching authentication protocol
  4. sql-schema与catalog
  5. jq实现多级手风琴效果
  6. MVC 中WebViewPage的运用
  7. stage.width/height和stage.stageWidth/stageHeight的区别
  8. deque双向队列(转)
  9. js判断获取浏览器关闭状态
  10. linux 下执行.sh文件提示permission denied
  11. c语言贪吃蛇详解-2.画出蛇
  12. [ Java学习基础 ] Java的封装性与访问控制
  13. 实现select联动效果,数据从后台获取
  14. ThinkPHP5.0 开发手册
  15. DDD实践:领域事件
  16. POJ 1523 SPF (无向图割点)
  17. java中转译符用&quot;\\&quot;的几种特殊字符
  18. 41 【docker】初识
  19. 优化 --cache
  20. 采用JavaMelody监控Tomcat服务——安装手册

热门文章

  1. web form 控件
  2. TIJ读书笔记05-this关键字
  3. htmL5 html5Validate
  4. Linux 夸平台 移植 Win32
  5. Jquery Mobile 动态添加元素然后刷新 转
  6. mysql convert
  7. nyoj 737 石子合并(一)。区间dp
  8. 初识ASP.NET CORE:三、Middleware
  9. Linux系统编程-setitimer函数
  10. C# 生成条形码