您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > C#中间含图片的二维码生成实例
中间含图片的二维码生成实例这是一个简单的二维码生成实例,我们就用c#的windows程序来写吧。1.新建一个windows程序,然后引用ThoughtWorks.QRCode.dll。这个dll没有可以到网上去copy一个下来。首先画好这样一个界面,界面非常简单,但是太丑一点,我们做好了再放一个皮肤上去。接下来我们开始写后台代码吧!usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingThoughtWorks.QRCode.Codec;usingSystem.IO;usingSystem.Drawing.Imaging;namespaceWindowsFormsApplication1{PublicpartialclassForm1:Form{publicForm1(){InitializeComponent();}PrivateobjectlogoImg;//用于存放logo图片PrivatevoidForm1_Load(objectsender,EventArgse){this.skinEngine1.SkinFile=Calmness.ssk;}///summary///获取二维码生成图片////summary///returns/returnspublicBitmapgetcode(stringwriteStr){QRCodeEncoderqRCodeEncoder=newQRCodeEncoder();qRCodeEncoder.QRCodeEncodeMode=QRCodeEncoder.ENCODE_MODE.BYTE;//设置二维码编码格式qRCodeEncoder.QRCodeScale=4;//设置编码测量度qRCodeEncoder.QRCodeVersion=7;//设置编码版本qRCodeEncoder.QRCodeErrorCorrect=QRCodeEncoder.ERROR_CORRECTION.M;//设置错误校验Bitmapimage=qRCodeEncoder.Encode(writeStr);returnimage;}///summary///获取logo////summary///returns/returnsPublicBitmapgetlogo(){BitmapnewBmp=newBitmap(logo.jpg);//获取图片对象Bitmapbmp=newBitmap(newBmp,30,30);//缩放returnbmp;}///summary///二维码保存////summary///paramname=sender/param///paramname=e/paramPrivatevoidSave_Btn_Click(objectsender,EventArgse){SaveFileDialogsaveFile=newSaveFileDialog();//创建保存对话框saveFile.Filter=JPEG|*.jpeg;*.jpg|位图文件|*.bmp|所有文件|*.*;//设置保存的图片格式if(pictureBox1.Image!=null){if(saveFile.ShowDialog()==DialogResult.OK){stringsFilePathName=saveFile.FileName;Imageimg=pictureBox1.Image;img.Save(sFilePathName);}}else{MessageBox.Show(请先生成二维码!);}}///summary///二维码生成////summary///paramname=sender/param///paramname=e/paramPrivatevoidShengCheng_Btn_Click(objectsender,EventArgse){if(Str_Tbx.Text.Trim()!=)//验证输入的生成内容是否为空{BitmapbCode=getcode(Str_Tbx.Text);//获取二维码图片if(logoImg==null){pictureBox1.Image=bCode;}else{BitmapbLogo=logoImgasBitmap;//获取logo图片对象bLogo=newBitmap(bLogo,30,30);//改变图片的大小这里我们设置为30intY=bCode.Height;intX=bCode.Width;Pointpoint=newPoint(X/2-15,Y/2-15);//logo图片绘制到二维码上,这里将简单计算一下logo所在的坐标Graphicsg=Graphics.FromImage(bCode);//创建一个画布g.DrawImage(bLogo,point);//将logo图片绘制到二维码图片上pictureBox1.Image=bCode;}}else{MessageBox.Show(输入生成内容!);}}///summary///logo上传////summary///paramname=sender/param///paramname=e/paramPrivatevoidUpLogo_Btn_Click(objectsender,EventArgse){OpenFileDialogopenFileDialog=newOpenFileDialog();//文件打开对话框openFileDialog.Filter=JPEG|*.jpeg;*.jpg|位图文件|*.bmp|所有文件|*.*;//只能打开我们设置的这几类文件if(openFileDialog.ShowDialog()==DialogResult.OK){stringfileName=openFileDialog.FileName;BitmapnewBmp=newBitmap(fileName);Bitmapbmp=newBitmap(newBmp);pictureBox1.Image=bmp;logoImg=bmp;}}}}皮肤在这儿就不再多做介绍了,接下来我们来看看成果吧。
本文标题:C#中间含图片的二维码生成实例
链接地址:https://www.777doc.com/doc-4674136 .html