ImageView.cpp
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* ArmarX is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License version 2 as
6* published by the Free Software Foundation.
7*
8* ArmarX is distributed in the hope that it will be useful, but
9* WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* @author Rainer Kartmann ( rainer dot kartmann at kit dot edu)
17* @date 2021
18* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19* GNU General Public License
20*/
21
22#include "ImageView.h"
23
24#include <QImage>
25#include <QPainter>
26
28
30{
31
32 ImageView::ImageView(QWidget* parent) : QWidget(parent)
33 {
34 setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
35
36 connect(this, &This::sourceImageChanged, this, &This::updateImage);
37 }
38
39 void
40 ImageView::setImage(const QImage& image)
41 {
42 sourceImage = image.copy();
43 emit sourceImageChanged();
44 }
45
46 void
47 ImageView::paintEvent(QPaintEvent* event)
48 {
49 (void)event;
50
51 QPainter painter(this);
52 //scaledImage = image.scaled (width(), height(), Qt::KeepAspectRatio, Qt::FastTransformation);
53 scaledImage =
54 sourceImage.scaled(width(), height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
55 painter.drawImage(0, 0, scaledImage);
56 }
57
58 void
60 {
61 update(0, 0, width(), height());
62 }
63
64} // namespace armarx::armem::gui::instance
ImageView(QWidget *parent=nullptr)
Definition ImageView.cpp:32
void setImage(const QImage &image)
Definition ImageView.cpp:40
void paintEvent(QPaintEvent *pPaintEvent) override
Definition ImageView.cpp:47