在PyQt标签上显示图像后,我想在显示的图像上绘制一个矩形。请注意,我并不是指“绘制”,就像用户在图像上“绘制”一个矩形一样,但我的意思是我只想在图像上创建一个矩形。我有matplotlib轴的等效代码,但我不确定如何在PyQt中做同样的事情。
# Create Figure/Axes Instance
figure,axes = matplotlib.pyplot.subplots()
axes.imshow(imageRGB)
# Draw Rectangle
axes.add_patch(matplotlib.patches.Rectangle((50,50),100,100,fill=False,edgecolor='red'))
答案 0 :(得分:4)
# convert image file into pixmap
self.pixmap_image = QtGui.QPixmap(self.filename)
# create painter instance with pixmap
self.painterInstance = QtGui.QPainter(self.pixmap_image)
# set rectangle color and thickness
self.penRectangle = QtGui.QPen(QtCore.Qt.red)
self.penRedBorder.setWidth(3)
# draw rectangle on painter
self.painterInstance.setPen(self.penRectangle)
self.painterInstance.drawRect(xPos,yPos,xLen,yLen)
# set pixmap onto the label widget
self.ui.label_imageDisplay.setPixmap(self.pixmap_image)
self.ui.label_imageDisplay.show()