Issue in checking UIImage have alpha (Transparent) color or not
Rewrite @Hitarth's answer in Swift4:
extension UIImage {
public func isTransparent() -> Bool {
guard let alpha: CGImageAlphaInfo = self.cgImage?.alphaInfo else { return false }
return alpha == .first || alpha == .last || alpha == .premultipliedFirst || alpha == .premultipliedLast
}
}
Finally find out the solution for the current images which are displaying on the question. I want to find out that UIImage have alpha Channel or not.
- (BOOL)hasAlpha : (UIImage*) img
{
CGImageAlphaInfo alpha = CGImageGetAlphaInfo(img.CGImage);
return (
alpha == kCGImageAlphaFirst ||
alpha == kCGImageAlphaLast ||
alpha == kCGImageAlphaPremultipliedFirst ||
alpha == kCGImageAlphaPremultipliedLast
);
}
This hasAlpha
method is working fine in this case.
For More info : Check out this link