【发布时间】:2015-09-25 04:09:18
【问题描述】:
如果 PNG 文件具有 Alpha 通道,则尝试在 MAC OSX 上使用 Objective C 找到最佳/最简单的方法。
【问题讨论】:
标签: objective-c macos png alpha alpha-transparency
如果 PNG 文件具有 Alpha 通道,则尝试在 MAC OSX 上使用 Objective C 找到最佳/最简单的方法。
【问题讨论】:
标签: objective-c macos png alpha alpha-transparency
这是一种方法:
NSBitmapImageRep *rep = [NSBitmapImageRep imageRepWithContentsOfFile:@"/path/to/image/test.png"];
BOOL alpha = [rep hasAlpha];
【讨论】:
如果位于 IHDR 块内已知位置的颜色类型字节为 0、2 或 3,并且在第一个 IDAT 块之前不存在 tRNS 块,则不存在 alpha 通道并且图像是不透明。如果存在 tRNS 块,或者颜色类型为 4 或 6,则图像具有 alpha 通道,该通道可能在某些像素中具有透明性,也可能是不透明的。
【讨论】: