mirror of
https://github.com/status-im/qzxing.git
synced 2025-01-14 13:05:32 +00:00
4df9512790
Now tagFound signal emits decoded string. If you want to know what code was detected and what charSet is used, use tagFoundAdvanced(QString tag, QString format, QString charSet) signal or functions foundedFormat() and charSet().
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
#include "imagehandler.h"
|
|
#include <QGraphicsObject>
|
|
#include <QImage>
|
|
#include <QPainter>
|
|
#include <QStyleOptionGraphicsItem>
|
|
#include <QDebug>
|
|
|
|
ImageHandler::ImageHandler(QObject *parent) :
|
|
QObject(parent)
|
|
{
|
|
}
|
|
|
|
QImage ImageHandler::extractQImage(QObject *imageObj,
|
|
const double offsetX, const double offsetY,
|
|
const double width, const double height)
|
|
{
|
|
QGraphicsObject *item = qobject_cast<QGraphicsObject*>(imageObj);
|
|
|
|
if (!item) {
|
|
qDebug() << "Item is NULL";
|
|
return QImage();
|
|
}
|
|
|
|
QImage img(item->boundingRect().size().toSize(), QImage::Format_RGB32);
|
|
img.fill(QColor(255, 255, 255).rgb());
|
|
QPainter painter(&img);
|
|
QStyleOptionGraphicsItem styleOption;
|
|
item->paint(&painter, &styleOption);
|
|
|
|
if(offsetX == 0 && offsetY == 0 && width == 0 && height == 0)
|
|
return img;
|
|
else
|
|
{
|
|
return img.copy(offsetX, offsetY, width, height);
|
|
}
|
|
}
|
|
|
|
void ImageHandler::save(QObject *imageObj, const QString &path,
|
|
const double offsetX, const double offsetY,
|
|
const double width, const double height)
|
|
{
|
|
QImage img = extractQImage(imageObj, offsetX, offsetY, width, height);
|
|
img.save(path);
|
|
}
|