登录

c++ - 用freeimage准确判断是否包含alpha通道的问题

有没有用过c++ freeimage的朋友 在这里问一个问题:

在读取png图像的时候,有的png是有alpha通道的(rgba),有的png就是rgb,想知道如何用freeimage准确判断是否包含alpha通道?

因为我用FreeImage_GetColorType之类的一些函数,发现返回的结果很多时候并不正确....

# C++
巴扎黑 巴扎黑 2278 天前 740 次浏览

全部回复(1) 我要回复

  • 大家讲道理

    大家讲道理2017-06-10 09:50:50

    FreeImage_GetBPP() 返回每个像素用多少个bit,RGB就是24bit,RGBA就是32bit,相当于一个通道8bit。

    如果要全面考虑,用 FreeImage_GetImageType() 获取类型,有一些少见的图片类型不是标准的
    FIT_BITMAP,比如 FIT_FLOAT,因为float用32bit,所以当bpp=32的时候才有1个通道。

    回复
    0
  • 取消 回复 发送