2012-02-23 15 views
2

こんにちは私はJavaのアプリケーションをC#から変換しようとしていますが、これは唯一の問題です。: Sidenote:そのビットマップクラスは私が作成したクラスです。BufferedImage.getRGB C#相当ですか?

Javaコード:

 for (int x = 0; x < xTiles; x++) { 
      for (int y = 0; y < yTiles; y++) { 
       result[x][y] = new Bitmap(w, h); 
       bi.getRGB(bx + x * w, by + y * h, w, h, 
         result[x][y].pixels, 0, w); 
      } 
     } 

私はC#で持っているもの:

  for (int X = 0; X < XTiles; X++) 
      { 
       for (int Y = 0; Y < YTiles; Y++) 
       { 
        Result[X,Y] = new Bitmap(W, H); 
       } 
      } 

しかし、私は方法やHOWTOは、C#(のgetRGB)であることを行う見つけるように見える傾けます。私が仕事をするために必要なものから唯一のものです。ありがとう!

答えて

1

Bitmapオブジェクトが作成されている場合は、bitmap.GetPixel(int x、int y)を使用して、指定された{x、y}座標でColor(struct)を取得できます。
bitmap.SetPixel(int x、int y、Color color)を使用して色を設定することもできます。

これらのピクセル操作を高速に行う必要がある場合は、google "LockBits"を実行します。

編集:
ああ、ビットマップは独自のカスタムクラスですか?
代わりにSystem.Drawing.Bitmapを使用すると、指定したメソッドにアクセスできます。

編集2:
あなたカスタム C#のBitmapクラス(またはしない)の名前を変更する必要があるかもしれませんので、うん、BufferedImageの換算は、System.Drawing.Bitmapです。

+0

あなたはJavaの例に何があったのか教えてくれませんでした... 気になることはありますか? –

+0

ああ、BufferedImage/facepalm –

+0

これは私のせいだった/面白い – user1227439