Fix antialiasing of rotated non-smooth scaled images
The fast-path can't antialias edges, and shouldn't be used when that is requested. Pick-to: 6.1 5.15 Change-Id: I3a0ce120ab96a6f95d11c165d1f5b356dae009fe Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
This commit is contained in:
parent
78d8afed1f
commit
ab216eaebf
@ -2369,7 +2369,8 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe
|
||||
if (s->matrix.type() > QTransform::TxScale) {
|
||||
SrcOverTransformFunc func = qTransformFunctions[d->rasterBuffer->format][img.format()];
|
||||
// The fast transform methods doesn't really work on small targets, see QTBUG-93475
|
||||
if (func && (!clip || clip->hasRectClip) && targetBounds.width() >= 16 && targetBounds.height() >= 16) {
|
||||
// And it can't antialias the edges
|
||||
if (func && (!clip || clip->hasRectClip) && !s->flags.antialiased && targetBounds.width() >= 16 && targetBounds.height() >= 16) {
|
||||
func(d->rasterBuffer->buffer(), d->rasterBuffer->bytesPerLine(), img.bits(),
|
||||
img.bytesPerLine(), r, sr, !clip ? d->deviceRect : clip->clipRect,
|
||||
s->matrix, s->intOpacity);
|
||||
|
Loading…
Reference in New Issue
Block a user