2011-12-03 54 views
2

我試圖在.NET中複製imagecopy PHP函數。我有兩張圖片需要合併成一張新圖片。一個圖像是一個模板,我需要將第二個圖像放入模板中,然後將結果保存爲新文件。這是我到目前爲止有:將兩個圖像合併爲一個新圖像

//Sized Image 
Bitmap sizedImg = (Bitmap)Image.FromFile(Server.MapPath("~/ImageUploads/") + sizedImageName); 
sizedImg.MakeTransparent(Color.White); 

//Template Image 
Bitmap template = (Bitmap)Image.FromFile(Server.MapPath("~/Assets/img/frame_sm.jpg")); 

//Combine the two 
Graphics newImage = Graphics.FromImage(template); 
newImage.DrawImage(sizedImg, 96, 12, 232, 230); 
newImage.Save(); 

//Save the new image 
string fileName = String.Format("{0}_sizedFB.jpg", originalImageName.Substring(0, originalImageName.IndexOf("_"))); 
//? Save 

首先,這是正確的代碼將兩個圖像合併成一個?如果是這樣,我如何將新映像保存到磁盤?

謝謝。

+1

請不要把C#中的標題。這就是標籤的用途。 – Amy

+0

保存到磁盤非常簡單;調用'Bitmap.Save()'。順便說一句,'Graphics'直接繪製到'template';你需要一個新的實例。 – Ryan

回答

1

首先,您必須從打開的模板文件創建一個新的位圖,以便不修改您的模板,而是根據您的模板創建一個新圖像。

​​

然後你這個新的圖像上繪製圖像:

Graphics newImage = Graphics.FromImage(newimage); 
newImage.DrawImage(sizedImg, 96, 12, 232, 230); 

最後您將新圖像保存到指定的文件:

string fileName = String.Format("{0}_sizedFB.jpg", originalImageName.Substring(0, originalImageName.IndexOf("_"))); 
newImage.Save(fileName, ImageFormat.Png); 
+0

優秀。謝謝 – Mike

相關問題