为什么图片上传到窗口后QLabel和QPixmap会自动旋转?

问题描述 投票:0回答:1

我正在尝试在 PyQt5 中创建一个应用程序,它允许用户单击 QPushButton,然后在单独的窗口中查看计算机上的所有图像文件,然后选择要在窗口中的 QLabel 中显示的图像。目前我可以上传文件,但是其中一些文件最终会自动逆时针旋转 90 度。

这是负责将图像添加到 QLabel 的代码部分:

def openImage(self):
    fName = QFileDialog.getOpenFileName(self, 'Open Image', '', 'Image Files (*.jpg)')
    self.label.setPixmap(QPixmap(fName[0]).scaled(700, 700, Qt.KeepAspectRatio))

如果有人知道如何确保所有图像保持正确的方向而不是旋转,我们非常感谢您的帮助。 谢谢, 罗伊

python image pyqt5 qpixmap qlabel
1个回答
0
投票

这是因为图像包含变换,使用QImageReader加载图像并将autoTransform设置为true,这是C++中的代码:

QImageReader reader(filePath);
reader.setAutoTransform(true);
QPixmap pixmap = QPixmap::fromImage(reader.read());
© www.soinside.com 2019 - 2024. All rights reserved.