【问题标题】:BufferedImage.getRGB C# Equivalent?BufferedImage.getRGB C# 等效?
【发布时间】:2012-02-23 04:23:41
【问题描述】:

您好,我正在尝试从 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) 中找到方法或方法。这是我工作所需要做的唯一事情。谢谢!

【问题讨论】:

    标签: c# java equivalent


    【解决方案1】:

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

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

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

    编辑 2:
    是的,BufferedImage 等效项是 System.Drawing.Bitmap,因此您可能需要重命名您的 custom C# Bitmap 类(或不重命名)。

    【讨论】:

    • 您没有告诉我们 java 示例中的 bi 是什么...愿意分享吗?
    • getRGB(bx + x * w, by + y * h, w, h, result[x][y].pixels, 0, w);做什么?
    • 不,你在标题中做了 :) 但是,是的,我对我的答案进行了几处编辑,解释了你应该做什么。
    • 让我试一试,是的,它确实有效。我通过删除代码对其进行了测试,但它不起作用。所以我知道这是问题所在
    猜你喜欢
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 2015-03-24
    • 2021-11-26
    • 2017-08-02
    相关资源
    最近更新 更多