Python PyQt4 QPolygonF至QImage
目前有一个程序,用户可以使用鼠标单击来绘制自己的形状。然后它获取一个QpointF列表(通过用户鼠标点击获得)并创建一个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(
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项目时,它将变为空白。非常感谢您的帮助。绿色是用于多边形内部还是用于整个图像?绿色是用于多边形内部还是用于整个图像?