博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将多张图片和文字合成一张图片
阅读量:5289 次
发布时间:2019-06-14

本文共 2875 字,大约阅读时间需要 9 分钟。

///     /// 调用此函数后使此两种图片合并,类似相册,有个    /// 背景图,中间贴自己的目标图片    ///     /// 粘贴的源图片    /// 粘贴的目标图片    public static System.Drawing.Image CombinImage(string sourceImg, string destImg, string filename, string wxImg, string text_wx)    {        System.Drawing.Image imgBack = System.Drawing.Image.FromFile(sourceImg);     //相框图片         //System.Drawing.Image img = System.Drawing.Image.FromFile(destImg);        //照片图片         //if (img == null)        //{
//二维码合并 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 4;//可以调节二维码的大小 qrCodeEncoder.QRCodeVersion = 8; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; //System.Drawing.Image image = qrCodeEncoder.Encode("4408810820 深圳-广州 小江"); System.Drawing.Image img = qrCodeEncoder.Encode(destImg); // } //从指定的System.Drawing.Image创建新的System.Drawing.Graphics Graphics g = Graphics.FromImage(imgBack); // g.DrawImage(imgBack, 0, 0, 148, 124); // g.DrawImage(imgBack, 0, 0, 相框宽, 相框高); //g.FillRectangle(System.Drawing.Brushes.Black, 16, 16, (int)112 + 2, ((int)73 + 2));//相片四周刷一层黑色边框 //从网络获取图片转为byte WebClient my = new WebClient(); byte[] mybyte; mybyte = my.DownloadData(wxImg); //将byte流转为图片 MemoryStream ms1 = new MemoryStream(mybyte); Image img2 = Image.FromStream(ms1); //g.DrawImage(img, 照片与相框的左边距, 照片与相框的上边距, 照片宽, 照片高); g.DrawImage(img, 185, 552, 131, 131);//写入二维码 g.DrawImage(img2, 0, 0, 131, 131);//写入图标 g.DrawString(text_wx, new Font(FontFamily.GenericMonospace, 14f), Brushes.White, new PointF(10, 20));//写入文字 GC.Collect(); //加LOGO和微信名称 //img = System.Drawing.Image.FromFile("http://www.baidu.com/img/baidu_jgylogo3.gif"); //照片图片 //g.DrawImage(imgBack, 0, 0, 148, 124); // g.DrawImage(imgBack, 0, 0, 相框宽, 相框高); //g.FillRectangle(System.Drawing.Brushes.Black, 16, 16, (int)112 + 2, ((int)73 + 2));//相片四周刷一层黑色边框 //GC.Collect(); //输出文件流 System.IO.MemoryStream ms = new System.IO.MemoryStream(); imgBack.Save(ms, System.Drawing.Imaging.ImageFormat.Png); BytToImg(ms.ToArray(), HttpContext.Current.Server.MapPath("/rcode_system/" + filename + ".png"));//保存成文件 //输出文件流 //System.Web.HttpContext.Current.Response.ClearContent(); //System.Web.HttpContext.Current.Response.ContentType = "image/png"; //System.Web.HttpContext.Current.Response.BinaryWrite(ms.ToArray()); imgBack.Dispose(); return imgBack; }

转自:https://blog.csdn.net/prospertu/article/details/51393982

转载于:https://www.cnblogs.com/whl4835349/p/9828362.html

你可能感兴趣的文章
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
MySQL Proxy
查看>>
关于Vue的组件的通用性问题
查看>>
随机颜色值
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
目录相关的操作
查看>>
解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题...
查看>>
C++----练习--引用头文件
查看>>
11.基本包装类型
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
用HttpCombiner来减少js和css的请问次数
查看>>
FUSE-用户空间文件系统
查看>>
将tiff文件转化为jpg文件并保存
查看>>
ubuntu 16.04 开机脚本
查看>>
 VS2012 C#调用C++ dll
查看>>