我有一個圖像是240x320(iphone相機圖像中的肖像),我需要以編程方式(在C#中)向兩側添加白色「酒吧」,將整個圖像大小增加到320x320。我不想縮放圖像,因爲這會混淆縱橫比。C#圖像空白
我發現了很多關於如何用c#刪除白色條的信息,但沒有提到如何添加它們。我很茫然。有沒有人有任何可能導致我正確方向的意見?
感謝一束, 佈雷特
我有一個圖像是240x320(iphone相機圖像中的肖像),我需要以編程方式(在C#中)向兩側添加白色「酒吧」,將整個圖像大小增加到320x320。我不想縮放圖像,因爲這會混淆縱橫比。C#圖像空白
我發現了很多關於如何用c#刪除白色條的信息,但沒有提到如何添加它們。我很茫然。有沒有人有任何可能導致我正確方向的意見?
感謝一束, 佈雷特
創建所需尺寸的一個新的空白的位圖,而較小的圖像的blit到其上。
基本上用所需的尺寸創建一個新的位圖,用你想要的顏色清除它,然後繪製較小的位圖,使其垂直居中。
using (System.Drawing.Image src = System.Drawing.Image.FromFile("picture.jpg"))
{
using (Bitmap bmp = new Bitmap(320, 320))
{
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);
g.DrawImageUnscaled(src, 60, 0, 240, 320);
bmp.Save("file.jpg", ImageFormat.Jpeg);
}
}
記住處置用後的對象;)
在此處,一個更一般化的方法是用於調整圖像大小和添加白條描述有很大的聯繫,或者在頂部或底部(取決於的圖像方向)c# Image resizing to different size while preserving aspect ratio
太棒了!謝謝一堆! – Brett 2010-03-31 19:55:49
@Matti的答案的代碼。馬蒂的+1! – kenny 2010-03-31 20:00:21
這是使用聲明處理處理的好候選者。 例如使用(位圖bmp =新位圖(320,320)) { // ... } – 2010-03-31 20:43:09