c freeimage を使用したことのある友人がここに質問しました:
PNG イメージを読み取るとき、一部の PNG にはアルファ チャネル (rgba) が含まれ、一部の PNG には rgb が含まれます。freeimage を使用して、アルファ チャネルが含まれているかどうかを正確に判断する方法を知りたいですか?
FreeImage_GetColorType などの関数を使用しているため、返される結果が正しくないことがよくあります....
FreeImage_GetBPP() 各ピクセルに使用されるビット数を返します。RGB は 24 ビット、RGBA は 32 ビットで、1 つのチャンネルの 8 ビットに相当します。
FreeImage_GetBPP()
すべてを考慮したい場合は、 FreeImage_GetImageType() を使用してタイプを取得します。 FIT_FLOAT など、標準の FIT_BITMAP 以外の画像タイプもいくつかあります。
FreeImage_GetImageType()
FreeImage_GetBPP()
各ピクセルに使用されるビット数を返します。RGB は 24 ビット、RGBA は 32 ビットで、1 つのチャンネルの 8 ビットに相当します。すべてを考慮したい場合は、
FreeImage_GetImageType()
を使用してタイプを取得します。 FIT_FLOAT など、標準のFIT_BITMAP 以外の画像タイプもいくつかあります。