PyQt - функция для увеличения больших изображений - PullRequest
1 голос
/ 23 сентября 2010

Мне нужна функция для увеличения очень больших изображений (5000 x 7000 пикселей) в pyqt.

Я опробовал функции из gwenview (средства просмотра изображений, написанные на C ++ и Qt), но мне это сложно понять.

Спасибо!

Ответы [ 2 ]

1 голос
/ 27 сентября 2010

Раньше у меня была такая же проблема, мне нужно было создать систему для рисования изображения и сохранить результат. лучший подход, который я нашел, это:
1- подкласс QGraphicView добавить растровое изображение, используя: self.createPixmapItem(QPixmap(self.image),pos) inside the subClass
2- также в подклассе, повторно реализуйте событие wheel следующим образом:
def wheelEvent(self, event): # code from (rapid GUI programming using python and pyqt ) book. </p> <pre><code> factor = 1.41 ** (event.delta() / 240.0) self.scale(factor, factor)

(копирование и вставка функции внутри подкласса QgraphicView должно работать нормально)

мой случай был немного сложнее, чем ваш, поскольку мне пришлось создать полную систему рисования _ или систему комментариев _ (масштабирование, рисование, стирание и отмена .. и т.д.) Вот почему я должен был использовать QgraphicsView, я уверен, что есть несколько более простых способов сделать это, но я надеюсь, что вы найдете это полезным.

0 голосов
/ 04 октября 2010

В моем приложении есть сетка, которую я скрываю, когда пользователь отходит от определенной точки.Я достиг этого, посылая сигнал об уровне масштабирования всякий раз, когда он изменяется, и ловя его в слоте сцены, чтобы включить или отключить сетку.Вы можете сделать то же самое, чтобы переключать файлы изображений на копии изображения с более низким разрешением, когда вы уменьшаете масштаб до определенной точки.

...