Как конвертировать QT Qimage в java awt буферизованное изображение? - PullRequest
1 голос
/ 19 февраля 2009

Я пытаюсь преобразовать Java QT QImage в BufferedImage, используя следующий код, но это не работает

QImage image = map.toImage ();

byte buf [] = image.copyOfBytes ();

    InputStream in = new ByteArrayInputStream(buf);
    try {
        BufferedImage img = javax.imageio.ImageIO.read(in);
              File file = new File("newimage.bmp");
            ImageIO.write(img, "bmp", file);

    } catch (Exception e) {
    }

Ответы [ 2 ]

4 голосов
/ 02 декабря 2010

Я сделал обратную логику с этим кодом, и он работает:

Object o_image = mimeData.imageData();
QImage image = (QImage)o_image;

BufferedImage bufferedImage = new BufferedImage(
    image.width(), image.height(), BufferedImage.TYPE_INT_ARGB);

for (int x = 0; x < image.width(); ++x) {
    for (int y = 0; y < image.height(); ++y) {
        bufferedImage.setRGB(x, y, image.pixel(x, y));
    }
}
0 голосов
/ 23 января 2010

http://wiki.qtjambi.info/Converting_java.awt.Image_to_QImage Метод по ссылке выше делает это наоборот. Он преобразует изображение в QImage, я предполагаю, что не должно быть слишком сложно изменить логику и сделать это наоборот.

Однако я заранее предупрежу вас, что это не совсем быстро. Я обновлю страницу, если найду более быстрый способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...