Don't use context after generating an image

This commit is contained in:
Ali 2021-06-20 16:51:28 +04:00
parent 9131d607f7
commit b8a67d22d7

View File

@ -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
}