[PyQt] QImage.save() traceback
Sergi Blanch i Torné
sbt at ya.com
Tue May 6 14:15:12 BST 2008
On Tuesday 06 May 2008 13:28:50 Hans-Peter Jansen wrote:
> Am Dienstag, 6. Mai 2008 schrieb Sergi Blanch i Torné:
> > Hi,
> >
> > I'm try to save some images from a QImage object, but the save method is
> > only responding me false. I try to fix why this method cannot do that,
> > but I could know the real reason.
> >
> > Do you know how to allows this method to be more expressive to explains
> > me something?
>
> Our favorite PyQt-ML mantra applies:
>
> Om, please provide a self contained example demonstrating your problem, Om.
>
> Pete
mmm, interesting, It can be useful (joking). Yes, I want to explain the
situation. I'm loading the image from PyTango (the tango's[1] python
binding):
from PyQt4 import QtCore, QtGui, Qt
import PyTango
attrImg = PyTango.AttributeProxy("lt/di/iba-01/ROIImage")
imgData,imgDimX,imgDimY =
attrImg.read().value,attrImg.read().dim_x,attrImg.read().dim_y
And where we have an image composed by unsigned shorts, it needs a little
manipulation, to have an unsigned char array, with a method like:
def convertfrom(image):
shift = 4
return "".join(chr(i>>shift) for i in image )
call like:
imgData8 = convertfrom(imgData)
To construct the object:
image =
QtGui.QImage(imgData8,imgDimX,imgDimY,imgDimX,QtGui.QImage.Format_Indexed8)
Finally the save call is:
image.save("/tmp/image.png","PNG")
image.save("/tmp/image.jpg","JPG")
image.save("/tmp/image.tiff","TIFF")
And all this calls return False (and the file is not in the directory). The
image is shown in a widget and it seems nice.
Thanks for reading
/Sergi.
[1]: http://www.tango-controls.org/
More information about the PyQt
mailing list