diff --git a/src/lime/_internal/graphics/ImageDataUtil.hx b/src/lime/_internal/graphics/ImageDataUtil.hx index 4557164d2..1b6e3e005 100644 --- a/src/lime/_internal/graphics/ImageDataUtil.hx +++ b/src/lime/_internal/graphics/ImageDataUtil.hx @@ -783,27 +783,25 @@ class ImageDataUtil { var x: Int; var y: Int; - if (strength != 1) { - if (offset <= 0) { - y = 0; - while (y < h) { - x = 0; - while (x < w) { - translatePixel(imgB, sourceImage.rect, image.rect, destPoint, x, y, strength); - x += 1; - } - y += 1; + if (offset <= 0) { + y = 0; + while (y < h) { + x = 0; + while (x < w) { + translatePixel(imgB, sourceImage.rect, image.rect, destPoint, x, y, strength); + x += 1; } - } else { - y = h-1; - while (y >= 0 ) { - x = w-1; - while (x >= 0) { - translatePixel(imgB, sourceImage.rect, image.rect, destPoint, x, y, strength); - x -= 1; - } - y -= 1; + y += 1; + } + } else { + y = h-1; + while (y >= 0 ) { + x = w-1; + while (x >= 0) { + translatePixel(imgB, sourceImage.rect, image.rect, destPoint, x, y, strength); + x -= 1; } + y -= 1; } } @@ -815,7 +813,8 @@ class ImageDataUtil { if (imagePremultiplied) image.premultiplied = true; if (sourceImagePremultiplied) sourceImage.premultiplied = true; - return sourceImage; + if (imgA == sourceImage.data) return sourceImage; + return image; }