массив пикселей в bmp в java - PullRequest
       55

массив пикселей в bmp в java

0 голосов
/ 13 сентября 2010

Как мне создать новое изображение bmp в java из массива int, содержащего пиксели (из getPixel () класса pixelGrabber)?

Спасибо

Ответы [ 2 ]

1 голос
/ 13 сентября 2010

Создайте BufferedImage и вызовите setPixel.

BufferedImage: http://download.oracle.com/javase/1.4.2/docs/api/java/awt/image/BufferedImage.html

Если вы хотите файл BMP, тогда вы можете использовать ImageIO.write (bufferedImage, "BMP", new File ("mybmp.bmp "));

Я бы дал вам ссылку на класс ImageIO, но переполнение стека мешает мне спамить.

0 голосов
/ 22 июля 2017

В Котлине:

    // As it happens default color model has AARRGGBB format
    // in other words alpha + RBG
    val colorModel = ColorModel.getRGBdefault()

    val raster = colorModel.createCompatibleWritableRaster(
            horizontalRes, verticalRes)

    val bufferedImage = BufferedImage(
            colorModel, raster, colorModel.isAlphaPremultiplied, null)

    // rawArgbData = array of int's.
    // every int has format = 0xFF|R|G|B (MSB is alpha)
    raster.setDataElements(
            0, 0, horizontalRes, verticalRes,
            rawArgbData)


   // finally save
   ImageIO.write(bufferedImage, "PNG", File(filePath))

Может быть проблема с сохранением растрового изображения в формате ARGB, см. Это: ImageIO.write bmp не работает

...