mirror of https://github.com/status-im/qzxing.git
Fix that in Qt 5.3 extractImage gets QQuickImage but not QGraphicksObject
This commit is contained in:
parent
84cf4482f2
commit
812238d1f5
|
@ -4,6 +4,7 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QStyleOptionGraphicsItem>
|
#include <QStyleOptionGraphicsItem>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <private/qquickimage_p.h>
|
||||||
|
|
||||||
ImageHandler::ImageHandler(QObject *parent) :
|
ImageHandler::ImageHandler(QObject *parent) :
|
||||||
QObject(parent)
|
QObject(parent)
|
||||||
|
@ -16,7 +17,22 @@ QImage ImageHandler::extractQImage(QObject *imageObj,
|
||||||
{
|
{
|
||||||
QGraphicsObject *item = qobject_cast<QGraphicsObject*>(imageObj);
|
QGraphicsObject *item = qobject_cast<QGraphicsObject*>(imageObj);
|
||||||
|
|
||||||
if (!item) {
|
if (!item && (imageObj->metaObject()->className() == "QQuickImage")) {
|
||||||
|
QQuickImage *quickimage = static_cast<QQuickImage*>(imageObj);
|
||||||
|
|
||||||
|
if (!quickImage) {
|
||||||
|
qDebug() << "quickimage is NULL";
|
||||||
|
return QImage();
|
||||||
|
}
|
||||||
|
|
||||||
|
QImage img(quickimage->image());
|
||||||
|
if(offsetX == 0 && offsetY == 0 && width == 0 && height == 0)
|
||||||
|
return img;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return img.copy(offsetX, offsetY, width, height);
|
||||||
|
}
|
||||||
|
} else if (!item) {
|
||||||
qDebug() << "Item is NULL";
|
qDebug() << "Item is NULL";
|
||||||
return QImage();
|
return QImage();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue