zoukankan      html  css  js  c++  java
  • 两张图片合成一张

      public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                var path1 = "C:\Users\ding.jk\Desktop\微信截图_20180911104205.png";
                var path2 = "C:\Users\ding.jk\Desktop\IMG_2552.PNG";
                this.pictureBox1.Image = CombinImage(path1, path2);
            }
            /// <summary>
            /// 调用此函数后使此两种图片合并,类似相册,有个
            /// 背景图,中间贴自己的目标图片
            /// </summary>
            /// <param name="sourceImg">粘贴的源图片</param>
            /// <param name="destImg">粘贴的目标图片</param>
            public static Image CombinImage(string sourceImg, string destImg)
            {
                Image imgBack = System.Drawing.Image.FromFile(sourceImg);     //相框图片 
                Image img = System.Drawing.Image.FromFile(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, 130, 130, (int)150, ((int)150));//相片四周刷一层黑色边框,这里没有,需要调尺寸
                //g.DrawImage(img, 照片与相框的左边距, 照片与相框的上边距, 照片宽, 照片高);
                g.DrawImage(img, 130, 130, 150, 150);
                GC.Collect();
                var headPath = "/UploadImage/" + DateTime.Now.ToString("yyyyMM");
                string AbsoluteFilePath = Application.StartupPath+ headPath;
                if (!Directory.Exists(AbsoluteFilePath))
                {
                    Directory.CreateDirectory(AbsoluteFilePath);
                }
                string saveImagePath = AbsoluteFilePath + "/" + DateTime.Now.ToString("yyyyMMddHHmm") + Guid.NewGuid().ToString() + ".jpg";
                //save new image to file system.
                imgBack.Save(saveImagePath, ImageFormat.Png);
                return imgBack;
            }
        }
  • 相关阅读:
    win32/mfc/qt 异常处理与总结
    tornado使用长连接并运行在nginx反向代理后面
    tornado中计算etag的一个BUG
    关于HTTP长连接的保持和断开
    系统时间不对导致cookie设置不成功
    tornado中模板的变量命令冲突
    unix时间戳转换
    Twisted echo server
    tornado长连接断开的处理机制
    rp_filter及Linux下多网卡接收多播的问题
  • 原文地址:https://www.cnblogs.com/stubborn-donkey/p/9634367.html
Copyright © 2011-2022 走看看