#include "ImagePreviewer.h" #include ImagePreviewer::ImagePreviewer(QWidget *parent) : QWidget(parent) { } void ImagePreviewer::setImg(QImage img) { m_img = img; repaint(); } void ImagePreviewer::paintEvent(QPaintEvent* event) { QPainter p(this); // p.fillRect(rect(), QBrush(QColor(199, 237, 202))); QRectF d = rect(); QSizeF s = m_img.size(); if(d.width() <= s.width() * m_maxScaleMultiple || d.height() <= s.height() * m_maxScaleMultiple) { d.setSize(s.scaled(d.size(), Qt::KeepAspectRatio)); } else { d.setWidth(s.width() * m_maxScaleMultiple); d.setHeight(s.height() * m_maxScaleMultiple); } d.moveCenter(rect().center()); p.drawImage(d, m_img); }