Fix that in Qt 5.3 extractImage gets QQuickImage but not QGraphicksObject

This commit is contained in:
Anton Skorokhod 2014-09-02 15:39:57 +02:00
parent 84cf4482f2
commit 812238d1f5
1 changed files with 17 additions and 1 deletions

View File

@ -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();
} }