0
我正在画一条线,但是如何保持线条'jag'免费且干净?如何平滑pyqt4上的曲线和对角线上的锯齿状边缘?
这是上述绘制图像的代码。在这里,我们可能会注意到图像充满了锯齿状的边缘。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.drawingPanel = DrawingPanel(self)
verticalLayout = QtGui.QVBoxLayout(self)
verticalLayout.addWidget(self.drawingPanel)
self.setLayout(verticalLayout)
self.resize(400, 300)
self.setWindowTitle('Review')
self.show()
class DrawingPanel(QtGui.QGraphicsView):
def __init__(self, parent):
super(DrawingPanel, self).__init__(parent)
scene = QtGui.QGraphicsScene()
self.setScene(scene)
pencil = QtGui.QPen(QtCore.Qt.black, 2, QtCore.Qt.SolidLine)
self.scene().addLine(QtCore.QLineF(0, 0, 300, 600), pencil)
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
这里有图片的缩放:
关于它的一些其他问题:
谢谢。也可以这样做:'self.setRenderHint(QtGui.QPainter.Alliiasing); self.setRenderHint(QtGui.QPainter.TextAntialiasing); self.setRenderHint(QtGui.QPainter.SmoothPixmapTransform); self.setRenderHint(QtGui.QPainter.HighQualityAlliiasing);'? – user