如何判断PNG文件是否具有Alpha通道/透明度

时间:2015-07-07 15:08:50

标签: objective-c macos png alpha alpha-transparency

如果PNG文件具有Alpha通道,请尝试在MAC OSX上使用Objective C找到最佳/最简单的方法。

2 个答案:

答案 0 :(得分:1)

这是一种方式:

NSBitmapImageRep *rep = [NSBitmapImageRep imageRepWithContentsOfFile:@"/path/to/image/test.png"];
BOOL alpha = [rep hasAlpha];

答案 1 :(得分:0)

如果在IHDR块中已知位置的颜色类型字节是0,2或3并且在第一个IDAT块之前没有tRNS块存在,则没有alpha通道且图像是不透明。如果存在tRNS块,或者颜色类型为4或6,则图像具有Alpha通道,该通道在某些像素中可能具有透明度,或者可能是不透明的。