实例介绍
【实例简介】
產生二維條碼
【实例截图】
【核心代码】
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace TwoDimensionCodeNameCard { public partial class Form1 : Form { private string appPath = System.Windows.Forms.Application.StartupPath "\\"; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.tsInfo.Text = "右键可将二维码名片另存为图片"; this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; #region init this.tbCompany.Text = "青岛**软件有限公司"; this.tbAddr.Text = "青岛市市南区香港路100号(266500)"; this.tbUrl.Text = "www.huiyaosoft.com"; this.tbFax.Text = " 86 0532 86887777"; this.tbDepa.Text = "ERP事业部"; this.tbTitle.Text = "技术总监"; this.tbMobile.Text = " 86 18605327777"; this.tbPhone.Text = " 86 0532 86887778"; this.tbMail.Text = "admin@huiyaosoft.com"; this.tbName.Text = "张三"; #endregion } private void btnBuild_Click(object sender, EventArgs e) { buildCode(); //挪车二维码 //Bitmap b = GetTwoDimensionCode("车主:戴先生\r\n联系电话:18511111111\r\n临时停车给您带来的不变敬请谅解!", "扫一扫获取挪车电话", this.pictureBox1.Width, this.pictureBox1.Height, "微软雅黑"); //this.pictureBox1.Image = b; } private void buildCode() { try { StringBuilder card = new StringBuilder(); card.Append("BEGIN:VCARD"); card.Append("\r\nFN:" this.tbName.Text); card.Append("\r\nTITLE:" this.tbTitle.Text); card.Append("\r\nORG:" this.tbCompany.Text ";" this.tbDepa.Text); card.Append("\r\nTEL;CELL:" this.tbMobile.Text); card.Append("\r\nTEL;WORK:" this.tbPhone.Text); card.Append("\r\nTEL;WORK;FAX:" this.tbFax.Text); card.Append("\r\nADR;WORK:" this.tbAddr.Text); card.Append("\r\nURL:" this.tbUrl.Text); card.Append("\r\nEMAIL;WORK:" this.tbMail.Text); card.Append("\r\nNOTE:"); card.Append("\r\nX-QQ:"); card.Append("\r\nPHOTO;ENCODING=b;TYPE=JPEG:"); card.Append("\r\nEND:VCARD\r\n"); //card.ToString() Bitmap b = GetTwoDimensionCode(card.ToString(), string.Empty, this.pictureBox1.Width, this.pictureBox1.Height, "微软雅黑"); this.pictureBox1.Image = b; } catch (Exception ex) { this.tsInfo.Text = ex.Message; } } public static Bitmap GetTwoDimensionCode(string strSource, string text, int width, int height, string fontName) { // 创建Bitmap对象 Bitmap bmp = new Bitmap(width, height); // 从image创建 Graphics对象 Graphics objGraphics = Graphics.FromImage(bmp); // 填上背景色 objGraphics.FillRectangle(Brushes.White, 0, 0, bmp.Width, bmp.Height); // ThoughtWorks.QRCode.Codec.QRCodeEncoder qrCodeEncoder = new ThoughtWorks.QRCode.Codec.QRCodeEncoder(); // 设置编码方法 qrCodeEncoder.QRCodeEncodeMode = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE; // 设置大小 qrCodeEncoder.QRCodeScale = 3; // 适用于信息量较少的情形,图像越小保存的信息量越少 // qrCodeEncoder.QRCodeScale = 4; // 设置版本 qrCodeEncoder.QRCodeVersion = 0; // 设置错误校验的级别,正因为二维码有纠错能力,才能够加入logo qrCodeEncoder.QRCodeErrorCorrect = ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M; Image image = qrCodeEncoder.Encode(strSource, Encoding.GetEncoding("utf-8")); // 写入二维码 int x = (int)(width - image.Width) / 2; int y = (int)(height - image.Height) / 2; objGraphics.DrawImage(image, new Point(x, y)); // 添加Logo图标 image = TwoDimensionCodeNameCard.Properties.Resources.Apps_tux_icon; x = (int)(width - image.Width) / 2; y = (int)(height - image.Height) / 2; objGraphics.DrawImage(image, new Point(x, y)); // 写入字符串 //objGraphics.DrawString(text, new Font(fontName, 13, FontStyle.Bold), // Brushes.Black, new PointF(43, 15)); return bmp; } private void tsmiSave_Click(object sender, EventArgs e) { this.saveFileDialog1.Title = "将二维码名片另存为:"; this.saveFileDialog1.DefaultExt = ".jpg"; this.saveFileDialog1.Filter = "*.jpg|*.jpg"; this.saveFileDialog1.FileName = this.tbName.Text ".jpg"; if (this.saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.pictureBox1.Image.Save(this.saveFileDialog1.FileName); } } } }
好例子网口号:伸出你的我的手 — 分享!
相关软件
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
支持(0) 盖楼(回复)