kDB: Knowledge DataBase
Loading...
Searching...
No Matches
toQImage.h
1#include <QImage>
2
3#include <cstring>
4
5#include "Image.h"
6
7namespace knowCore
8{
13 inline QImage toQImage(const knowCore::Image& _img)
14 {
15 knowCore::Image imageu8 = _img.convert(knowCore::Image::Type::UnsignedInteger8);
16 QImage qi;
17 switch(imageu8.channels())
18 {
19 case 1:
20 qi = QImage(imageu8.width(), imageu8.height(), QImage::Format_Grayscale8);
21 break;
22 case 3:
23 qi = QImage(imageu8.width(), imageu8.height(), QImage::Format_RGB888);
24 break;
25 case 4:
26 qi = QImage(imageu8.width(), imageu8.height(), QImage::Format_ARGB32);
27 break;
28 default:
29 qi = QImage();
30 qWarning() << "Unsupported number of channels: " << imageu8.channels();
31 break;
32 }
33 if(not qi.isNull())
34 {
35 std::memcpy(qi.bits(), imageu8.dataPtr(), imageu8.size());
36 }
37 return qi;
38 }
39} // namespace knowCore
Definition Image.h:8
quint64 size() const
Definition Image.cpp:617