BufferedImage.getRGB C # Эквивалент? - PullRequest
2 голосов
/ 23 февраля 2012

Привет, я пытаюсь преобразовать приложение на Java из C #, и это единственная проблема, которая у меня возникает ..: Примечание. Этот класс 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 Ответ

1 голос
/ 23 февраля 2012

Если у вас создан объект Bitmap, вы можете использовать bitmap.GetPixel (int x, int y), чтобы получить Color (struct) по заданной координате {x, y}.
Вы также можете использовать растровое изображение.SetPixel (int x, int y, Color color), чтобы установить цвет.

Если вам нужно быстро выполнить эти операции с пикселями, то Google "LockBits".

Редактировать:
О, Bitmap - это ваш собственный класс?
Вместо этого используйте System.Drawing.Bitmap, и у вас будет доступ к указанным мною методам.

Edit 2:
Да, эквивалент BufferedImage - System.Drawing.Bitmap, поэтому вам может потребоваться переименовать ваш пользовательский C # Bitmap класс (или нет).

...