我正在尝试使用以下代码将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) {
}
答案 0 :(得分: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));
}
}
答案 1 :(得分:0)
http://wiki.qtjambi.info/Converting_java.awt.Image_to_QImage 上面链接上的方法是相反的。它将Image转换为QImage,我猜它不应该太难以反转逻辑并反过来。
然而,我会事先警告你,它并不是很快......如果我找到更快的方法,我会更新页面。