Fix exif rotation in unencrypted rooms

This commit is contained in:
Nicolas Werner 2021-04-04 00:15:08 +02:00
parent 5f4ab925da
commit 007ee38b04
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
3 changed files with 16 additions and 3 deletions

View File

@ -69,7 +69,7 @@ MxcImageProvider::download(const QString &id,
QDir().mkpath(fileInfo.absolutePath());
if (fileInfo.exists()) {
QImage image(fileInfo.absoluteFilePath());
QImage image = utils::readImageFromFile(fileInfo.absoluteFilePath());
if (!image.isNull()) {
image = image.scaled(
requestedSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
@ -143,7 +143,8 @@ MxcImageProvider::download(const QString &id,
return;
}
} else {
QImage image(fileInfo.absoluteFilePath());
QImage image =
utils::readImageFromFile(fileInfo.absoluteFilePath());
if (!image.isNull()) {
then(id,
requestedSize,
@ -190,7 +191,8 @@ MxcImageProvider::download(const QString &id,
return;
}
QImage image(fileInfo.absoluteFilePath());
QImage image =
utils::readImageFromFile(fileInfo.absoluteFilePath());
image.setText("original filename",
QString::fromStdString(originalFilename));
image.setText("mxc url", "mxc://" + id);

View File

@ -802,6 +802,13 @@ utils::restoreCombobox(QComboBox *combo, const QString &value)
}
}
QImage
utils::readImageFromFile(const QString &filename)
{
QImageReader reader(filename);
reader.setAutoTransform(true);
return reader.read();
}
QImage
utils::readImage(const QByteArray &data)
{

View File

@ -310,6 +310,10 @@ centerWidget(QWidget *widget, QWidget *parent);
void
restoreCombobox(QComboBox *combo, const QString &value);
//! Read image respecting exif orientation
QImage
readImageFromFile(const QString &filename);
//! Read image respecting exif orientation
QImage
readImage(const QByteArray &data);