Files
VX5_KRO_GearPump/ImagePreviewer.cpp
T
2026-04-29 14:10:10 +08:00

36 lines
745 B
C++

#include "ImagePreviewer.h"
#include <QPainter>
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);
}