読者です 読者をやめる 読者になる 読者になる

cBlog

Tips for you.

bmpを扱う件 in C

いつものごとく進捗。

そんなに進んでないけどね。

 

1. ・・・。あきらめよう?

bmpのcsvへのダンプ、ぽちぽち打ち込んでカラーパレット書き出しまで終わりました。ただ、12/15昼休みの投稿で書いたのと異なり(頭の中での構想と、いざやってみたときの隔たり、よくあるよね)、 一応ダンプだしカラーパレット中のReservedも出力することにした。

RGBの並びも、フォーマット通りBGRにしようかと一瞬悩んだりしたけれど、見やすさを優先して、RGBReservedの順で出すことにした。

 

言ってなかったけど、Windows V3、いわゆるBITMAPINFOHEADERの形式しか対応するつもりありませんでした。それと、一応フォーマットチェックを入れてます。

  • マジックナンバー(0x424d)
  • biSize==40
  • biHeight>0(めんどくさいので)
  • biBitCount==1 or 4 or 8 or 24
  • biCompression==0

 

で、イメージデータまで来たんだけど、あることに気づいた。

biBitCount==1, 4って1 byte未満じゃん?(自明)

そうすると、よくわかってないかもしれないけど、リトルエンディアンとかそういうの考えないといけなくなるんじゃん? そう思ってるうちに、

 

2色、16色のサポートやめよう(迫真)

 

2. 謎の賞賛

だって、アプコンとかすげーの手を出そうとしてるのに、フルカラー以外なんていらないじゃん? 256色はグレースケールに使えるからいるけど、バイナリも画像処理でいるけど0と255だけ使うのと一緒でしょ?などと、言い訳が駆け巡る。ついには、

 

モノクロ、16色、256色、24 bitカラーとかいろいろサポートしてるなんて、Windowsペイントってスゲーな!

 

という謎の言葉で自己防衛するのであった。

広告