2011-07-03 38 views
-3

好吧,我發現這個很酷的代碼,我無法使用它。你看......我們要輸入的圖像 ,我能做到這一點,但我們還需要輸入顏色,我不知道該怎麼做...如何在C#中使用Color []顏色?

public static Bitmap Colorize(Bitmap Image, Color[] Colors) 
{ 
    if (Colors.Length < 256) 
     return null; 
    Bitmap TempBitmap = new Bitmap(Image.Width, Image.Height); 
    for (int x = 0; x < Image.Width; ++x) 
    { 
     for (int y = 0; y < Image.Height; ++y) 
     { 
      int ColorUsing = Image.GetPixel(x, y).R; 
      TempBitmap.SetPixel(x, y, Colors[ColorUsing]); 
     } 
    } 
    return TempBitmap; 
} 
+0

想知道這段代碼應該做什麼很有趣。 –

+0

@Etienne:難道不明顯嗎?它做了「着色」。 :D但是,嚴重的是,它看起來像使用不同的調色板將一些圖像重新繪製成新圖像。 –

+3

@Cody:你在說什麼? – BoltClock

回答

2

你需要的數組傳遞顏色對象如下:

 Bitmap bitmapToColorize = new Bitmap(@"C:\bitmap.bmp"); 
     Color[] colors = new Color[2]; 
     colors[0] = Color.Blue; 
     colors[1] = Color.Green; 

     Colorize(bitmapToColorize, colors); 

當然,看看這個方法,看起來你需要用至少256種顏色填充顏色數組。

我會建議你閱讀arrays

+0

當然,數組至少應該是Color [256],所以該方法不會返回null。但這似乎是提問者尋找的答案。 +1 – Tod

+0

好吧,那麼我不得不爲什麼要返回null? – Pedrum

+0

您需要使用256色的數組。 –

相關問題