C# 图像合成

        我已经将以下的代码测试通过,符合要求
       
首先给你一个函数;用来将图片保存到内存中  
        ///


        /// 首先给你一个函数;用来将图片保存到内存中  
        ///

        ///
        ///
        private Image ReturnImage(string strPhotoPath)
        {
            FileStream fstream = new FileStream(strPhotoPath, FileMode.OpenOrCreate, FileAccess.Read);
            byte[] byData = new byte[fstream.Length];
            fstream.Read(byData, 0, System.Convert.ToInt32(fstream.Length));
            fstream.Close();
            System.IO.MemoryStream stream = new System.IO.MemoryStream(byData, true);
            stream.Write(byData, 0, byData.Length);
            Bitmap bmp = new Bitmap(stream);
            System.Drawing.Image image = bmp;
            return bmp;
        }  

        private void Form1_Load(object sender, EventArgs e)
        {
            //下面的是进行图像合成的代码:  
            string str0 = System.IO.Directory.GetCurrentDirectory() + "//" + "
像框文件的名称";//像框文件的路径  
            string str1 = System.IO.Directory.GetCurrentDirectory() + "//" + "
照片的名称";//照片文件的全路径  
            Image img0 = ReturnImage(str0);
            Image img1 = ReturnImage(str1);
            System.Drawing.Image newImage = img0.GetThumbnailImage(
合成后图像的宽, 合成后图像的高, null, new IntPtr());
            Graphics g = Graphics.FromImage(img0);
            g.DrawImage(img0, 0, 0,
相框图片的宽, 像框图片的高);
            g.DrawImage(img1,
照片与相框左边距, 照片与相框顶边距, img1.Width, img1.Height);
            //
执行完以上的代码img0就是你要的合成图片了,你可以把它保存成一个图片文件或是做其他处理!
            this.pictureBox1.Image = img0;
        }


你可能感兴趣的:(C# 图像合成)