Des amis ayant utilisé C++ freeimage ont-ils posé une question ici :
Lors de la lecture d'images png, certains png ont un canal alpha (rgba) et certains png ont du RVB. Je veux savoir comment utiliser freeimage pour déterminer avec précision s'il contient un canal alpha ?
Parce que j'utilise certaines fonctions telles que FreeImage_GetColorType et que je trouve que les résultats renvoyés sont souvent incorrects....
FreeImage_GetBPP()
Renvoie le nombre de bits utilisés pour chaque pixel. RVB est de 24 bits et RGBA est de 32 bits, ce qui équivaut à 8 bits pour un canal.Si vous voulez tout considérer, utilisez
FreeImage_GetImageType()
pour obtenir le type. Il existe quelques types d'images rares qui ne sont pas standardFIT_BITMAP, comme FIT_FLOAT. Parce que float utilise 32 bits, il n'y a qu'un seul canal lorsque bpp=32.