git repos / SagoImageBrowser

commit e1e7f5a6

Poul Sander · 2026-02-23 19:40
e1e7f5a615a8dcf83d12da5ce0e1f98112126213 patch · browse files
parent 665ac3087ff8129af967d9abb5879d618905f721

Use higher quality when painting the window

Changed files

M src/imageviewwidget.cpp before
diff --git a/src/imageviewwidget.cpp b/src/imageviewwidget.cpp index 44e837c..7889a96 100644 --- a/src/imageviewwidget.cpp +++ b/src/imageviewwidget.cpp
@@ -19,10 +19,15 @@ void ImageViewWidget::setImage(const QString &path)
{
QImageReader reader(path);
reader.setAutoTransform(true);
+ reader.setDecideFormatFromContent(true);
QImage image = reader.read();
- if (!image.isNull())
+ if (!image.isNull()) {
+ // Ensure the image is in a high-quality format
+ if (image.format() != QImage::Format_RGB32 && image.format() != QImage::Format_ARGB32 && image.format() != QImage::Format_ARGB32_Premultiplied)
+ image = image.convertToFormat(QImage::Format_ARGB32);
m_pixmap = QPixmap::fromImage(image);
+ }
else
m_pixmap = QPixmap();
@@ -47,6 +52,9 @@ void ImageViewWidget::paintEvent(QPaintEvent *)
return;
QPainter painter(this);
+ painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
+ painter.setRenderHint(QPainter::Antialiasing, true);
+
QPixmap drawn;
switch (m_zoomMode) {