第一步首先:下载ThoughtWorks.QRCode.dll 放置到项目Bin目录下,然后右键项目添加引用;

第二步界面代码:

  #region Windows 窗体设计器生成的代码/// <summary>/// 设计器支持所需的方法 - 不要/// 使用代码编辑器修改此方法的内容。/// </summary>private void InitializeComponent(){this.groupBox1 = new System.Windows.Forms.GroupBox();this.textBox1 = new System.Windows.Forms.TextBox();this.button1 = new System.Windows.Forms.Button();this.button2 = new System.Windows.Forms.Button();this.label1 = new System.Windows.Forms.Label();this.textBox2 = new System.Windows.Forms.TextBox();this.pictureBox1 = new System.Windows.Forms.PictureBox();this.groupBox1.SuspendLayout();((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();this.SuspendLayout();// // groupBox1// this.groupBox1.Controls.Add(this.textBox1);this.groupBox1.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.groupBox1.Location = new System.Drawing.Point(0, 13);this.groupBox1.Name = "groupBox1";this.groupBox1.Size = new System.Drawing.Size(462, 84);this.groupBox1.TabIndex = 0;this.groupBox1.TabStop = false;this.groupBox1.Text = "产品地址";// // textBox1// this.textBox1.Location = new System.Drawing.Point(6, 23);this.textBox1.Multiline = true;this.textBox1.Name = "textBox1";this.textBox1.Size = new System.Drawing.Size(429, 44);this.textBox1.TabIndex = 0;// // button1// this.button1.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.button1.Location = new System.Drawing.Point(13, 225);this.button1.Name = "button1";this.button1.Size = new System.Drawing.Size(89, 38);this.button1.TabIndex = 2;this.button1.Text = "生成二维码";this.button1.UseVisualStyleBackColor = true;this.button1.Click += new System.EventHandler(this.button1_Click);// // button2// this.button2.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.button2.Location = new System.Drawing.Point(127, 225);this.button2.Name = "button2";this.button2.Size = new System.Drawing.Size(89, 37);this.button2.TabIndex = 3;this.button2.Text = "下载二维码";this.button2.UseVisualStyleBackColor = true;this.button2.Click += new System.EventHandler(this.button2_Click);// // label1// this.label1.AutoSize = true;this.label1.Font = new System.Drawing.Font("宋体", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.label1.Location = new System.Drawing.Point(13, 118);this.label1.Name = "label1";this.label1.Size = new System.Drawing.Size(77, 14);this.label1.TabIndex = 4;this.label1.Text = "产品名称:";// // textBox2// this.textBox2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.textBox2.Location = new System.Drawing.Point(16, 149);this.textBox2.Multiline = true;this.textBox2.Name = "textBox2";this.textBox2.Size = new System.Drawing.Size(220, 43);this.textBox2.TabIndex = 5;// // pictureBox1// this.pictureBox1.Image = global::QRBarCode.Properties.Resources.a3fe94fc_f4e0_4f23_b3da_baeab3412ab01;this.pictureBox1.Location = new System.Drawing.Point(261, 118);this.pictureBox1.Name = "pictureBox1";this.pictureBox1.Size = new System.Drawing.Size(156, 145);this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;this.pictureBox1.TabIndex = 6;this.pictureBox1.TabStop = false;// // Form1// this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;this.ClientSize = new System.Drawing.Size(444, 306);this.Controls.Add(this.pictureBox1);this.Controls.Add(this.textBox2);this.Controls.Add(this.label1);this.Controls.Add(this.button2);this.Controls.Add(this.button1);this.Controls.Add(this.groupBox1);this.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.Name = "Form1";this.Text = "库买国际二维码图片生成";this.Load += new System.EventHandler(this.Form1_Load);this.groupBox1.ResumeLayout(false);this.groupBox1.PerformLayout();((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();this.ResumeLayout(false);this.PerformLayout();}#endregionprivate System.Windows.Forms.GroupBox groupBox1;private System.Windows.Forms.TextBox textBox1;private System.Windows.Forms.Button button1;private System.Windows.Forms.Button button2;private System.Windows.Forms.Label label1;private System.Windows.Forms.TextBox textBox2;private System.Windows.Forms.PictureBox pictureBox1;

第三步后台代码:

using ThoughtWorks.QRCode.Codec; 引用

  private void button1_Click(object sender, EventArgs e){ThoughtWorks.QRCode.Codec.QRCodeEncoder barcode = new QRCodeEncoder();barcode.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)barcode.QRCodeScale = 4;//大小(值越大生成的二维码图片像素越高)barcode.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)try{barcode.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//错误效验、错误更正(有4个等级)String qrdata = textBox1.Text.Trim();System.Drawing.Bitmap bp = barcode.Encode(qrdata.ToString(), Encoding.GetEncoding("GB2312"));// Image image = bp;pictureBox1.Image = bp;}catch //这个异常处理是放在输入内容太多造成数组溢出等异常{MessageBox.Show("生成失败,请点击重新生成.");}}private void button2_Click(object sender, EventArgs e){if (!string.IsNullOrEmpty(textBox2.Text)){SaveFileDialog sf = new SaveFileDialog();sf.Title = "选择保存文件位置";sf.Filter = "保存图片(*.jpg) |*.jpg|所有文件(*.*) |*.*";//设置默认文件类型显示顺序sf.FilterIndex = 1;//设置文件名称:sf.FileName = textBox2.Text + ".jpg";//保存对话框是否记忆上次打开的目录sf.RestoreDirectory = true;if (sf.ShowDialog() == DialogResult.OK){//获得文件路径string localFilePath = sf.FileName.ToString();if (sf.FileName != ""){string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);//获取文件名,不带路径string FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf("."));  //获取文件路径,带文件名,不带后缀//string fn = sf.FileName;Image img = new Bitmap(this.pictureBox1.Image, 60, 60);//另存为图片大小限制img.Save(FilePath + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);MessageBox.Show("保存成功"); }}}else{MessageBox.Show("请输入产品名称"); return;}}

效果图:

输入地址后生成的二维码效果

另存为二维码

Winform 利用ThoughtWorks.QRCode 生成二维码,并另存为二维码图片(限制大小)相关推荐

  1. 如何利用ThoughtWorks.QRCode 生成二维码

    1.引用ThoughtWorks.QRCode.dll 在nuget上查找即可引用,也可自行下载 2.生成二维码静态方法 参数: 二维码内容:fileUrl 二维码图片名:typeName #regi ...

  2. 用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误

    用ThoughtWorks.QRCode生成二维码时出现"索引超出了数组界限"的错误 字符串较长的情况下,用ThoughtWorks.QRCode生成二维码时出现"索引超 ...

  3. ThoughtWorks.QRCode 生成QR二维码时提示“索引超出了数组界限”的原因和解决方法

    ThoughtWorks.QRCode 生成QR二维码时提示"索引超出了数组界限"的原因和解决方法 参考文章: (1)ThoughtWorks.QRCode 生成QR二维码时提示& ...

  4. 用QRCode生成带有中间logo图的二维码

    1.qrcode.jar下载的地址是:http://download.csdn.net/download/ilovejavas/6767365 2.下面是代码实现: 2.1.用来设置二维码一些基本参数 ...

  5. C# 利用QRCode生成二维码图片

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

  6. C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码

    本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边 ...

  7. .NET 二维码生成(ThoughtWorks.QRCode)

    引用ThoughtWorks.QRCode.dll (源代码里有) 1.简单二维码生成及解码代码: //生成二维码方法一private void CreateCode_Simple(string nr ...

  8. ASP.NET 生成二维码(采用ThoughtWorks.QRCode和QrCode.Net两种方式)

    最近做项目遇到生成二维码的问题,发现网上用的最多的是ThoughtWorks.QRCode和QrCode.Net两种方式.访问官网看着例子写了两个Demo,使用过程中发现两个都挺好用的,Thought ...

  9. 二维码生成与解析(使用ThoughtWorks.QRCode)

    二维码生成 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEnco ...

最新文章

  1. 搜索引擎索引之索引基础
  2. python 打包exe 运行dll load failed_Python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。...
  3. 基于matlab的升压斩波实验,升降压斩波电路matlab仿真
  4. 提示wininet.dll文件找不到的解决
  5. Linux配置NTP服务器
  6. 路畅畅云固件升级教程_【图】【折腾导航】路畅导航固件升级、刷机、实现一机多图教程!...
  7. 怎样在WORD里输入国际音标
  8. 天然气流量计选型指南
  9. FusionCompute架构详解
  10. 应用统计专业硕士的就业前景如何?
  11. ch552开发环境配置
  12. 使用MMA解决拓扑优化问题的并行框架
  13. 【软考|软件设计师】专业英语(软考真题)
  14. Vue 新手学习笔记:vue-element-admin 之按钮级权限管控
  15. Nginx篇01-基本安装配置和静态页面设置
  16. Style Transfer(PyTorch)
  17. 【堡垒机测评】关于纽盾堡垒机、jumpserver堡垒机、行云管家堡垒机的使用对比
  18. (程序设计方法与实践)拉练紧急集合
  19. matlab中欠定方程组超定方程组_【七年级】30二元一次方程组应用——分段计费问题...
  20. 发现一款好用到爆的数据库工具,被惊艳到了!

热门文章

  1. 微信怎么恢复删除的聊天记录?原来这么简单轻松!
  2. Redis命令合集和设计场景
  3. Aspnet core迁移 wwwroot静态文件文件
  4. oracle 存储二进制流,oracle存二进制流
  5. SteamVR2.0 UGUI射线交互模拟
  6. 纯色html背景,css 背景(background)属性、背景图定位
  7. Mit6.006-problemSession01
  8. CAD、3dmax、Maya、Revit安装过程中显示产品已安装,如何卸载干净?
  9. CMD命令进入指定目录
  10. 让游戏在美国取得成功的 6 个技巧