关于这篇文章QGraphicsView doesn't resize after pixmap scale, while pixmap not centered any more我在QtWidgets.QGraphicsWidget
内缩放图像时遇到了同样的问题。它降低了质量
我使用了反校准模式:
self.setRenderHint(QPainter.Antialiasing)
以及缩放图像中的QtCore.Qt.SmoothTransformation
。但在使用wheelEvent
缩放时仍然存在问题。以上帖子也建议缩放场景
这是我的默认场景:
def wheelEvent(self, event):
self.setRenderHint(QtGui.QPainter.SmoothPixmapTransform)
self.setRenderHint(QtGui.QPainter.Antialiasing)
self.setRenderHint(QtGui.QPainter.HighQualityAntialiasing)
zoomFactor = 1.0 + event.angleDelta().y() * self._mouseWheelZoomRate
if event.angleDelta().y() > 0:
self._zoom_level = self._zoom_level + 1
else:
self._zoom_level = self._zoom_level - 1
if self._zoom_level == 0:
level = ''
else:
level = '_' + str(self._zoom_level)
self.setSceneRect(QtCore.QRectF(-600, -400, 600, 400))
transform = self.transform()
if transform.m22() * zoomFactor >= 2.0:
return
self.scale(zoomFactor, zoomFactor)
self.update()
我添加了一些数字来增加场景,但这是为了工作。有没有算法来计算场景面积? 我的图像尺寸是:160*60像素
目前没有回答
相关问题 更多 >
编程相关推荐