2011-07-03 1 views
-3

だから、私はこのクールなコードを発見し、私はそれを使用することはできません。あなたが見る...私たちは入力にあなたがの配列を渡す必要があり、私はそれを行うことができますが、我々はまた、私はそれを行う方法を知らない入力色に必要な画像 ...C#でColor [] Colorsを使用するにはどうすればよいですか?

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

okだからnullを返さないようにするにはどうすればいいですか? – Pedrum

+0

256色の配列を使用する必要があります。 –

関連する問題