【问题标题】:How to tell if PNG file has an Alpha Channel / Transparency如何判断 PNG 文件是否具有 Alpha 通道/透明度
【发布时间】:2015-09-25 04:09:18
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    这是一种方法:

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

    【讨论】:

    • 做得很好。我是一个 iOS 人,我在寻找类似的东西,但找不到。再次感谢....
    【解决方案2】:

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

    【讨论】:

    • 谢谢,正在研究这个。想知道在 iOS 中是否有类似 CGImage 的 API 有一个 YES 或 NO 的 API。
    猜你喜欢
    • 2010-12-30
    • 1970-01-01
    • 2016-07-04
    • 2021-08-07
    • 1970-01-01
    • 2012-11-24
    • 2018-12-27
    • 2019-03-18
    • 2010-10-25
    相关资源
    最近更新 更多