1 #include "imagewidget.h"
2 #include <QtCore>
3 #include <QtDebug>
4 #include <QDesktopWidget>
5 #include <QPainter>
6
ImageWidget(QWidget * parent)7 ImageWidget::ImageWidget(QWidget *parent)
8 : QWidget(parent)
9 {
10 QDesktopWidget desktop;
11 pixmap = QPixmap(desktop.width(), desktop.height());
12
13 bFit = true;
14
15 setAcceptDrops(true);
16 }
17
paintEvent(QPaintEvent * event)18 void ImageWidget::paintEvent(QPaintEvent *event)
19 {
20 Q_UNUSED(event)
21 QPainter painter(this);
22 if(bFit)
23 {
24 QPixmap fitPixmap = pixmap.scaled(width(),height(), Qt::KeepAspectRatio);
25 painter.drawPixmap(0, 0, fitPixmap);
26 }
27 else
28 painter.drawPixmap(0, 0, pixmap);
29
30 }
31
setPixmap(QString fileName)32 void ImageWidget::setPixmap(QString fileName)
33 {
34 pixmap.load(fileName);
35
36 update();
37 }
38
setPixmap(QByteArray & bytes)39 void ImageWidget::setPixmap(QByteArray& bytes)
40 {
41 pixmap.loadFromData(bytes, "bmp", NULL);
42 update();
43 }
44
setPixmap(const uchar * buf)45 void ImageWidget::setPixmap(const uchar* buf)
46 {
47 pixmap.loadFromData(buf, 800*480*4+54, "bmp", NULL);
48 update();
49 }
50