2009-02-19 53 views
1

我想使用下面的代码将java qt QImage转换为BufferedImage,但它不起作用如何将QT Qimage转换为java awt缓冲图像?

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) { 
    } 

回答

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)); 
    } 
}