Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt4 QPolygonF至QImage_Python_Pyqt_Pyqt4_Qimage_Qpolygon - Fatal编程技术网

Python PyQt4 QPolygonF至QImage

Python PyQt4 QPolygonF至QImage,python,pyqt,pyqt4,qimage,qpolygon,Python,Pyqt,Pyqt4,Qimage,Qpolygon,目前有一个程序,用户可以使用鼠标单击来绘制自己的形状。然后它获取一个QpointF列表(通过用户鼠标点击获得)并创建一个QPolygonF。这一步很好,当转换为多边形并添加到图形视图时,可以看到多边形的可见轮廓。然而,我需要将其转换为一个QImage,并将其像素设置为绿色(在以后求解质心时颜色很重要),但我不确定如何做到这一点。目前我有 self.poly=QPolygonF(self.vertexList) #works self.polyItem=QGraphicsPolygonItem(

目前有一个程序,用户可以使用鼠标单击来绘制自己的形状。然后它获取一个QpointF列表(通过用户鼠标点击获得)并创建一个QPolygonF。这一步很好,当转换为多边形并添加到图形视图时,可以看到多边形的可见轮廓。然而,我需要将其转换为一个QImage,并将其像素设置为绿色(在以后求解质心时颜色很重要),但我不确定如何做到这一点。目前我有

self.poly=QPolygonF(self.vertexList) #works

self.polyItem=QGraphicsPolygonItem(self.poly) #works, visible when added to scene

self.pixItem=QGraphicsPixmapItem(self.polyItem) #for some reason this step doesn't work. The pixmap item is created, however its empty

self.addItem(self.pixItem) #not visible, this is where it goes wrong

self.pix = self.pixItem.pixmap()

self.image=self.pix.toImage()

self.image.convertToFormat(4)#4=RGB32

value=qRgb(0,255,0) #These last two lines turn it green but irrelevant to issue

self.image.fill(value)

据我所知,您可以将一种类型的项目转换为另一种类型(没有给出错误),但将多边形项目转换为pixmap项目时,它将变为空白。非常感谢您的帮助。

绿色是用于多边形内部还是用于整个图像?绿色是用于多边形内部还是用于整个图像?