2012-02-23 93 views
2

嗨我想从C#中转换Java应用程序,这是我唯一的问题..: 旁注:该位图类是我所做的一个类。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(结构)。
您也可以使用bitmap.SetPixel(int x,int y,Color color)设置颜色。

如果你需要快速做这些像素操作,那么谷歌“LockBits”。

编辑:
哦,位图是你自己定制的类吗?
改为使用System.Drawing.Bitmap,您将可以访问我指定的方法。

编辑2:
呀,相当于BufferedImage的是System.Drawing.Bitmap,所以你可能需要重命名你的定制 C#Bitmap类(或没有)。

+0

你没有告诉我们在java例子中bi是什么... 小心分享? – 2012-02-23 04:31:06

+0

噢,BufferedImage/facepalm – 2012-02-23 04:33:41

+0

这是我的错/ facepalm – user1227439 2012-02-23 04:35:59