BufferedImage.getRGB C#等价?

时间:2012-02-23 04:23:41

标签: c# java equivalent

您好我正在尝试使用C#转换Java应用程序,这是我遇到的唯一问题..: 旁注:Bitmap类是我创建的一个类。

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);
                }
            }

但我似乎无法找到方法或如何在C#(getRGB)中执行此操作。它是唯一阻止我需要做的工作。谢谢!

1 个答案:

答案 0 :(得分:1)

如果创建了Bitmap对象,则可以使用bitmap.GetPixel(int x,int y)获取给定{x,y}坐标处的Color(struct)。
您还可以使用bitmap.SetPixel(int x,int y,Color color)来设置颜色。

如果您需要快速执行这些像素操作,请使用Google“LockBits”。

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

编辑2:
是的,BufferedImage等价物是System.Drawing.Bitmap,因此您可能需要重命名自定义 C#位图类(或不)。