36 lines
745 B
C++
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);
|
|
}
|