2016-08-19 151 views
0

我試着用graphics.Save();C#將System.Drawing.Graphics保存爲.png

Graphics newImage = Graphics.FromImage(bmp2); 
newImage.DrawImage(bmp, 87, 37, 0, 0); 
newImage.Save(); 

但是當我嘗試設置文件名像Image.Save(@「HereGoesName.PNG」);方法我得到一個錯誤說「不超載的方法‘保存’需要1個參數)」

和我到處搜查說做以下

Bitmap bitmap = new Bitmap(Convert.ToInt32(1024), Convert.ToInt32(1024), System.Drawing.Imaging.PixelFormat.Format32bppArgb); 
Graphics g = Graphics.FromImage(bitmap); 
bitmap.Save(@"HereGoesName.PNG", ImageFormat.Png); 

據我瞭解,這是創建一個圖形從這裏的一個位圖,我想做相反的事。

回答

4

你需要調用Save的位圖,而不是顯卡:

Graphics newImage = Graphics.FromImage(bmp2); 
newImage.DrawImage(bmp, 87, 37, 0, 0); 
bmp2.Save("HereGoesName.PNG", ImageFormat.Png); 
2

這很簡單:您的行Graphics newImage = Graphics.FromImage(bmp2);創建了一個圖形對象,指向bmp2圖像。

所有的繪製操作繪製直接上您bmp2位圖

所以,你可以簡單地保存修改後的圖像用:

bmp2.Save(@"foo.png", ImageFormat.Png); 
+0

@TaW thx我的英語真的很糟糕;-) – MaxKlaxx