2010-03-31 101 views
9

我有一個圖像是240x320(iphone相機圖像中的肖像),我需要以編程方式(在C#中)向兩側添加白色「酒吧」,將整個圖像大小增加到320x320。我不想縮放圖像,因爲這會混淆縱橫比。C#圖像空白

我發現了很多關於如何用c#刪除白色條的信息,但沒有提到如何添加它們。我很茫然。有沒有人有任何可能導致我正確方向的意見?

感謝一束, 佈雷特

回答

4

創建所需尺寸的一個新的空白的位圖,而較小的圖像的blit到其上。

0

基本上用所需的尺寸創建一個新的位圖,用你想要的顏色清除它,然後繪製較小的位圖,使其垂直居中。

12
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); 
     } 
} 

記住處置用後的對象;)

+0

太棒了!謝謝一堆! – Brett 2010-03-31 19:55:49

+0

@Matti的答案的代碼。馬蒂的+1! – kenny 2010-03-31 20:00:21

+4

這是使用聲明處理處理的好候選者。 例如使用(位圖bmp =新位圖(320,320)) { // ... } – 2010-03-31 20:43:09