1

次のコードを使用して Java qt QImage を BufferedImage に変換しようとしていますが、機能しません

QImage 画像 = map.toImage();

バイト 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) {
    }
4

2 に答える 2

4

このコードで逆ロジックを実行しましたが、機能します。

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));
    }
}
于 2010-12-02T10:30:19.240 に答える
0

http://wiki.qtjambi.info/Converting_java.awt.Image_to_QImage 上記のリンクのメソッドは、逆の方法です。Image を QImage に変換します。ロジックを逆にしてその逆を行うのはそれほど難しくないと思います。

ただし、正確に高速ではないことを事前に警告します。より高速な方法を見つけたら、ページを更新します。

于 2010-01-23T17:15:42.090 に答える