有沒有用過c++ freeimage的朋友 在這里問一個(gè)問題:
在讀取png圖像的時(shí)候,有的png是有alpha通道的(rgba),有的png就是rgb,想知道如何用freeimage準(zhǔn)確判斷是否包含alpha通道?
因?yàn)槲矣肍reeImage_GetColorType之類的一些函數(shù),發(fā)現(xiàn)返回的結(jié)果很多時(shí)候并不正確....
FreeImage_GetBPP()
返回每個(gè)像素用多少個(gè)bit,RGB就是24bit,RGBA就是32bit,相當(dāng)于一個(gè)通道8bit。
如果要全面考慮,用 FreeImage_GetImageType()
獲取類型,有一些少見的圖片類型不是標(biāo)準(zhǔn)的
FIT_BITMAP,比如 FIT_FLOAT,因?yàn)閒loat用32bit,所以當(dāng)bpp=32的時(shí)候才有1個(gè)通道。