基本信息
源码名称:二维码生成器源码
源码大小:1.25M
文件格式:.rar
开发语言:C#
更新时间:2026-05-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 3 元 
   源码介绍
做了一个使用google开源项目zxing实现二维码、一维码编码解码的程序,并在此程序基础上,实现二维码中间加小图片。

 //构造二维码写码器

                MultiFormatWriter mutiWriter = new com.google.zxing.MultiFormatWriter();

                Hashtable hint=new Hashtable();

                hint.Add(EncodeHintType.CHARACTER_SET,"UTF-8");

                hint.Add(EncodeHintType.ERROR_CORRECTION,com.google.zxing.qrcode.decoder.ErrorCorrectionLevel.H);

                //生成二维码

                ByteMatrix bm = mutiWriter.encode(txtMsg.Text, com.google.zxing.BarcodeFormat.QR_CODE, 300, 300,hint);

                Bitmap img = bm.ToBitmap();

 

                //要插入到二维码中的图片

                Image middlImg = QRMiddleImg.Image;

                //获取二维码实际尺寸(去掉二维码两边空白后的实际尺寸)

                System.Drawing.Size realSize = mutiWriter.GetEncodeSize(txtMsg.Text, com.google.zxing.BarcodeFormat.QR_CODE, 300, 300);

                //计算插入图片的大小和位置

                int middleImgW = Math.Min((int)(realSize.Width / 3.5), middlImg.Width);

                int middleImgH = Math.Min((int)(realSize.Height / 3.5),middlImg.Height);

                int middleImgL = (img.Width - middleImgW) / 2;

                int middleImgT = (img.Height - middleImgH) / 2;

 

                //img转换成bmp格式,否则后面无法创建 Graphics对象

                Bitmap bmpimg = new Bitmap(img.Width, img.Height,System.Drawing.Imaging.PixelFormat.Format32bppArgb);

                using (Graphics g = Graphics.FromImage(bmpimg))

                {

                    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

                    g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

                    g.DrawImage(img, 0, 0);

                }

 

                //在二维码中插入图片

                System.Drawing.Graphics MyGraphic = System.Drawing.Graphics.FromImage(bmpimg);

                //白底

                MyGraphic.FillRectangle(Brushes.White,middleImgL, middleImgT, middleImgW, middleImgH);

                MyGraphic.DrawImage(middlImg, middleImgL, middleImgT, middleImgW, middleImgH);

 

                pictureBox1.Image = bmpimg;

 

                //自动保存图片到当前目录

                string filename = System.Environment.CurrentDirectory "\\QR" DateTime.Now.Ticks.ToString() ".jpg";

                bmpimg.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);

                lbshow.Text = "图片已保存到:" filename;