2009-02-19 6 views
1

Je suis en train de convertir java qt QImage en BufferedImage en utilisant le code suivant, mais cela ne fonctionne pasComment faire pour convertir Qimage Qimage en java awt Buffered Image?

QImage image = map.toImage();

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

Répondre

0

http://wiki.qtjambi.info/Converting_java.awt.Image_to_QImage Méthode sur le lien ci-dessus fait il l'inverse. Il convertit une image en QImage, je suppose qu'il ne devrait pas être trop difficile d'inverser la logique et de le faire dans l'autre sens.

Je vous préviens cependant à l'avance que ce n'est pas exactement rapide .. Je mettrai à jour la page si je trouve un moyen plus rapide.

4

Je l'ai fait logique inverse avec ce code et il fonctionne:

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