c# 使用ThoughtWorks.QRCode.dll生成二维码图片

添加引用

添加对ThoughtWorks.QRCode.dll的引用

创建二维码:

创建二维码主要用到下面这两句代码:

 Bitmap bt;
 string enCodeString = nr;//需要生成的字符串
 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();//引用dll自带类
 bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);//调用Encode方法生成一个Bitmap对象,可以选择编码格式

下面是吧生成的二维码以图片保存本地:

private void create_two(string nr)
{
    Bitmap bt;
    string enCodeString = nr;
    QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
    bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);
    string path = @"D:\web\images_00_weixin\images-wx\";//保存地址
    string filename = "Codec" + DateTime.Now.ToString();//图片名称
    //除去特殊字符
    filename = filename.Replace(" ", "");
    filename = filename.Replace(":", "");
    filename = filename.Replace("-", "");
    filename = filename.Replace(".", "");
    bt.Save(path + filename + ".jpg");//保存jpg格式图片
}

如果不需要保存本地,可动态生成,输出图片的二进制流:

Bitmap bt = new Bitmap(280, 280);
try
{               
    string enCodeString = nr;
    QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
    bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);
    //创建内存流用于输出图片
    using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
    {
        //图片格式制定为png
        bt.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
        //清除缓冲区流中的所有输出
        Response.ClearContent();
        //输出流的HTTP MIME类型设置为"image/Png"
        Response.ContentType = "image/Png";
        //输出图片的二进制流
        Response.BinaryWrite(ms.ToArray());
    }
}
finally
{
    //释放Bitmap对象
    bt.Dispose();
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YuanlongWang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值