diff --git a/submodules/ImageTransparency/Sources/ImageTransparency.swift b/submodules/ImageTransparency/Sources/ImageTransparency.swift index 3c0e71187e..3283567641 100644 --- a/submodules/ImageTransparency/Sources/ImageTransparency.swift +++ b/submodules/ImageTransparency/Sources/ImageTransparency.swift @@ -92,14 +92,19 @@ public func imageRequiresInversion(_ cgImage: CGImage) -> Bool { } if hasAlpha { + let probingContext = DrawingContext(size: CGSize(width: cgImage.width, height: cgImage.height)) + probingContext.withContext { c in + c.draw(cgImage, in: CGRect(origin: CGPoint(), size: probingContext.size)) + } + var matching: Int = 0 var total: Int = 0 - for y in 0 ..< Int(context.size.height) { - for x in 0 ..< Int(context.size.width) { + for y in 0 ..< Int(probingContext.size.height) { + for x in 0 ..< Int(probingContext.size.width) { var saturation: CGFloat = 0.0 var brightness: CGFloat = 0.0 var alpha: CGFloat = 0.0 - if context.colorAt(CGPoint(x: x, y: y)).getHue(nil, saturation: &saturation, brightness: &brightness, alpha: &alpha) { + if probingContext.colorAt(CGPoint(x: x, y: y)).getHue(nil, saturation: &saturation, brightness: &brightness, alpha: &alpha) { if alpha < 1.0 { hasAlpha = true }