diff options
author | Morten Johan Sørvig <morten.sorvig@qt.io> | 2017-03-30 12:01:09 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-03-31 13:04:49 +0000 |
commit | 0043fab778f2497f644c434a194b5c5eec851819 (patch) | |
tree | 66179017724f17c97035d7bc2c4b1ea1953399cd /src/quick/items/context2d/qquickcontext2d.cpp | |
parent | 8132d628b1568cb750a61bc95c5b0632595e2854 (diff) |
Fix QQuickCanvasItem::toImage() high-DPI capture
Make toImage() work for devicePixelRatio > 1 by
scaling the source rect.
Also set the devicePixelRatio on the returned image.
Task-number: QTBUG-59170
Change-Id: I0c8ccd562c1cf1e89ff37ca1806b46296480b0d0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/context2d/qquickcontext2d.cpp')
-rw-r--r-- | src/quick/items/context2d/qquickcontext2d.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index ce890771d9..0a7db7fa97 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -962,7 +962,7 @@ static QV4::ReturnedValue qt_create_image_data(qreal w, qreal h, QV4::ExecutionE *pixelData->d()->image = QImage(w, h, QImage::Format_ARGB32); pixelData->d()->image->fill(0x00000000); } else { - Q_ASSERT(image.width() == qRound(w) && image.height() == qRound(h)); + Q_ASSERT(image.width()== qRound(w * image.devicePixelRatio()) && image.height() == qRound(h * image.devicePixelRatio())); *pixelData->d()->image = image.format() == QImage::Format_ARGB32 ? image : image.convertToFormat(QImage::Format_ARGB32); } |