0
我有類似的東西 - 加載從文件picturebox1圖像:矩形內保存在圖片框
,然後再按下「SelectArea」後,我可以畫上加載圖片矩形:
最後在按下另一個按鈕「SaveArea」後,我想將img保存在創建的矩形內,因此我將圖像保存在我的驅動器中,如下所示:
如何編寫代碼,幫我做這最後一步 - >保存的矩形內?
Tnx。
我有類似的東西 - 加載從文件picturebox1圖像:矩形內保存在圖片框
,然後再按下「SelectArea」後,我可以畫上加載圖片矩形:
最後在按下另一個按鈕「SaveArea」後,我想將img保存在創建的矩形內,因此我將圖像保存在我的驅動器中,如下所示:
如何編寫代碼,幫我做這最後一步 - >保存的矩形內?
Tnx。
一新了合適的尺寸
位圖然後創建一個圖形對象爲這個與Graphics.FromImage,然後使用生成的圖形對象上的DrawImage方法來繪製你的大圖像的部分到位圖。
最後保存的位圖對象與保存:
public static void SaveBitmapPart(System.Drawing.Image image, System.Drawing.RectangleF sourceRect, string pathToSave)
{
using (var bmp = new System.Drawing.Bitmap((int)sourceRect.Width, (int)sourceRect.Height))
{
using (var graphics = System.Drawing.Graphics.FromImage(bmp))
{
graphics.DrawImage(image, 0.0f, 0.0f, sourceRect, System.Drawing.GraphicsUnit.Pixel);
}
bmp.Save(pathToSave);
}
}
所以只是把它叫做:
SaveBitmapPart(picturebox1.Image, myRectangle, @"c:\Temp\Test.bmp");
PS可以使用PictureBoxes-image屬性爲 「圖像」(第一個參數)爲這個小功能。 – Carsten
Tnx,但我仍然有問題。當我在我的picturebox上選擇矩形 - 640x480,例如矩形(300x300),然後我保存的圖片爲300x300,但矩形內的所有內容都位於左上角,並且沒有拉伸 - 就像矩形內部的微img。 – Elfoc
你沒有寫任何關於拉伸圖像的東西,也沒有你的示例sugguest - 總之它很容易 - 只需將DrawImage-Method更改爲可處理圖像拉伸的重載(只需查看MSDN文檔 - 非常好)當然你也必須爲你desiered大小的位圖) – Carsten