2012-07-18 33 views
0

大家好我已經寫了一個示例代碼來找出圖像中的黑色像素,現在我想將所有這些像素保存到陣列和想保存與保存像素的特定圖像可以有一個人幫我如何從圖像保存所需像素並使用該像素繪製圖像

假定我的形象,我得到的是像素如下

我會閱讀所有的黑色像素及想保存他們,從我想重新形象Fallout透明背景。這是我寫的

for (int i = 0; i < b.Width; i++) 
     { 
      for (int j = 0; j < b.Height; j++) 
      { 
       Color pixelColor = b.GetPixel(i, j); 

       Response.Write("The color is " + pixelColor); 

       if (pixelColor.ToArgb() == Color.Black.ToArgb()) 
       { 
        //Will get black color here 
       } 
      } 
     } 

有人可以幫我剩下的。

+1

代替創建新的圖像從所述根據像素,修改現有的圖像。將所有不是黑色的像素設置爲透明:http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.setpixel.aspx – 2012-07-18 11:58:29

+0

嗨'Nico Schertler'我按照說的做了,但是當我有藍色的簽名圖像不轉換爲透明 – Dotnet 2012-07-18 12:46:17

回答

0

與同樣大小創建第二位圖

Bitmap newBitmap = new Bitmap(oldBitmap.Width, oldBitmap.Height); 

你可以對比的顏色直接

if (pixeColor == Color.Black) { 

裏面if { }

newBitmap.SetPixel(...); 

就是這樣,但如果你只是婉透明版本,您可以使用Bitmap.MakeTransparent(Color);

PS:GetPixel()和SetPixel()是極其緩慢的,嘗試使用不安全的位圖訪問