像素图的 PyQt 转换翻译没有影响
PyQt transform translate of pixmap having no affect
我需要旋转和平移从图像派生的 QPixmap
我可以使用 rotate 变换像素图,但 translate 似乎不会移动图像。
有人可以建议更改下面的示例以将图像移动到给定的 x 和 y 值吗?
对于运行代码,将test.png替换为方便的小图像文件。
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
from PyQt5.QtCore import Qt
from PyQt5 import QtCore, QtGui
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setFixedSize(640, 480)
label = QLabel("PyQt5 label!")
label.setAlignment(Qt.AlignCenter)
self.setCentralWidget(label)
pixmap = QtGui.QPixmap("test.png")
label.setPixmap(pixmap)
xform = QtGui.QTransform().translate(250,50)
xform.rotate(12)
xformed_pixmap = pixmap.transformed(xform, QtCore.Qt.SmoothTransformation)
label.setPixmap(xformed_pixmap)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
您应该移动 QLabel,而不是使用 QTransforma 移动 QPixmap:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap, QTransform
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setFixedSize(640, 480)
label = QLabel(self)
label.move(250, 50)
pixmap = QPixmap("test.png")
label.setPixmap(pixmap)
xform = QTransform()
xform.rotate(12)
xformed_pixmap = pixmap.transformed(xform, Qt.SmoothTransformation)
label.setPixmap(xformed_pixmap)
label.adjustSize()
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
我需要旋转和平移从图像派生的 QPixmap 我可以使用 rotate 变换像素图,但 translate 似乎不会移动图像。 有人可以建议更改下面的示例以将图像移动到给定的 x 和 y 值吗?
对于运行代码,将test.png替换为方便的小图像文件。
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
from PyQt5.QtCore import Qt
from PyQt5 import QtCore, QtGui
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setFixedSize(640, 480)
label = QLabel("PyQt5 label!")
label.setAlignment(Qt.AlignCenter)
self.setCentralWidget(label)
pixmap = QtGui.QPixmap("test.png")
label.setPixmap(pixmap)
xform = QtGui.QTransform().translate(250,50)
xform.rotate(12)
xformed_pixmap = pixmap.transformed(xform, QtCore.Qt.SmoothTransformation)
label.setPixmap(xformed_pixmap)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
您应该移动 QLabel,而不是使用 QTransforma 移动 QPixmap:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap, QTransform
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setFixedSize(640, 480)
label = QLabel(self)
label.move(250, 50)
pixmap = QPixmap("test.png")
label.setPixmap(pixmap)
xform = QTransform()
xform.rotate(12)
xformed_pixmap = pixmap.transformed(xform, Qt.SmoothTransformation)
label.setPixmap(xformed_pixmap)
label.adjustSize()
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()