c++ – Problem bei der Verwendung von Freeimage, um genau zu bestimmen, ob Alphakanal enthalten ist
巴扎黑
巴扎黑 2017-06-10 09:48:50
0
1
1020

Haben Freunde, die C++ Freeimage verwendet haben, hier eine Frage gestellt:

Beim Lesen von PNG-Bildern haben einige PNGs einen Alphakanal (RGBA) und einige PNGs haben RGB. Ich möchte wissen, wie man Freeimage verwendet, um genau zu bestimmen, ob es einen Alphakanal enthält?

Weil ich einige Funktionen wie FreeImage_GetColorType verwende und feststelle, dass die zurückgegebenen Ergebnisse oft falsch sind....

巴扎黑
巴扎黑

Antworte allen(1)
大家讲道理

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

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage