PyQt - 缩放大图像的功能

时间:2010-09-23 14:55:15

标签: image pyqt zoom scale

我需要一个用于在pyqt中缩放非常大的图像(5000 x 7000像素)的功能。

我已经尝试过gwenview中的函数(用C ++和Qt编写的图像查看器),但我很难理解。

谢谢!

2 个答案:

答案 0 :(得分:1)

之前我遇到过同样的麻烦,我不得不制作一个系统来绘制图片并保存结果。我发现的最佳方法是:
1 - 子类QGraphicView使用: self.createPixmapItem(QPixmap(self.image),pos) inside the subClass 添加像素图 子类中的 2 - 也是如此重新实现滚轮事件:
def wheelEvent(self, event): # code from (rapid GUI programming using python and pyqt ) book.

    factor = 1.41 ** (event.delta() / 240.0)
    self.scale(factor, factor)

factor = 1.41 ** (event.delta() / 240.0) self.scale(factor, factor) (复制和粘贴QgraphicView子类中的函数应该可以正常工作)

我的情况比你的情况更复杂,因为我必须制作一个完整的绘图系统_或评论系统_(缩放,绘制,擦除和撤消..等)。这就是为什么我必须使用QgraphicsView,我很确定有一些更简单的方法来做你的情况,但我希望你会发现这很有用。

答案 1 :(得分:0)

在我的应用程序中,我有一个网格,当用户缩小到某个点以外时我会隐藏它。我通过在每次更改时发送缩放级别的信号来实现此目的,并在场景的一个插槽中捕获该信号以启用或禁用网格。当缩小到某个点以外时,您可以将图像文件切换为图像的较低分辨率副本。