画像の判定


アサシ  2002-12-18 19:46:31  No: 105718  IP: [192.*.*.*]

選択された画像(BMP)が24ビットカラーか256色かを判定する方法ってありあますか?

編集    削除
YuO  2002-12-19 00:33:13  No: 105719  IP: [192.*.*.*]

真面目に解析するなら,
先頭のBITMAPFILEHEADERのbfOffBitsからBITMAPINFOの位置を取得。
BITMAPINFOの先頭にあるDWORDの値を調べて,それが実際にBITMAPINFOか,BITMAPCOREINFOかを判別。
BITMAPINFOであるのであれば,BITMAPINFOHEADERのbiBitCountで色数の取得が可能。
BITMAPCOREINFOであれば,BITMAPCOREINFOHEADERのbcBitCountで色数の取得が可能。
ってところです。

まぁ,BITMAPCOREINFOは滅多にお目にかかれないし,BITMAPFILEHEADERとBITMAPINFOの間に空きは無いと仮定すれば,
30バイト目から2バイト読み込めば取得が可能です。

編集    削除