疾走然り

amelia2006-09-10

なんですか、あれですか、もうギリギリで突っ走ってます。いざ実用的なWinアプリを作り始めると、あれやこれやと煮詰まることが乱発生して、もうね、満員電車なんて何てこたぁないですよ。脳内でグリグリやってるから、周囲なんてシカトだし。しかし、何ですか、ほぼフォトレタッチな機能を実装しなくちゃいけなくなって、今まで鼻くそほじりながら操作していた写真屋がどれだけ頑張ってるかを身に染みた。染みすぎて失禁したよ。ちゅか、これ、俺一人で開発ちゅうのはそもそも大間違いなような気がしないでもないけど、如何せんフリーちゅうのは仕事を選ぶほど余裕ない訳でして。。
まずね、CCDから16BitのRawデータを取得してグレースケールでライブ映像を出さなくてはいけなくなって、結局のところWindowsなんちゅうもんは、イメージをメモリデバコンでBitmap化しないとちらつきまくってあり得ないソフトになるので、メモリ描画する訳ですよ、DIB作ってDIBSectionでDDB変換してセットね。改めて16bppのBitmapを作ったのは良いんだけど、インデックス使えなくて、RGBを5Bitで表現しなくちゃいけない。グレースケールなんて知る限りではRGBをすべて同値にする方法しかしらないので、バカちょんで作る訳ですよ。で、いざ出力してみると、16Bitのくせに妙に荒い画像になるんよ。これ、改めて調べてみると16Bit(Windowsのハイカラー15Bit)でグレースケールを表現すると32階調(2の5乗)にしかならいのね(爆)。そこで煮詰まる訳です。Windowsイカラーならば32678色出せるのに、グレースケールになると32色?あり得ない。なんか良い方法があるはずだと悶えるんだけど、インデックスが使えない限りは確実に無理だと気付くまでに1日くらい浪費。グレースケールで32678階調もしくはマスク使って65535階調出す方法てないんか?いや、あるはずだ。て、またぶり返して1日浪費。切羽詰ってるから、暫定対処で8Bitにドロップして256色のインデックスカラーで対処したんだけど、せっかくの16Bitデータが無意味じゃん?やるせないじゃん?何故に16bpp以上はパレット使わしてくれないじゃん?みたいな。もう、そんなところから沸々とする。
MDIも本格的に使い始めると、MDIの子ウィンドウだけを一斉に再描画かけるための仕組みをMDIクライアントが持っているはずだとMSDNを穴が開くまで読むんだけど、ないじゃない。メッセージにもないじゃない。MDI用DESTROYメッセージはあるくせに、UPDATEとかPAINTないじゃない。で、仕方ないから暫定でEnumWindowsでクリクリしながらMDIクライアントが管理する子ウィンドウに一枚ずつメッセージを送るんだけど、釈然としない。そもそも、「子ウィンドウをすべて閉じる」ための機構が備わっていないことからして、再描画も同じレベルなんかなぁと日が経つに連れて感じてきている。あんな意味のないTilesとかのメソッドとか用意するならば、そゆところ用意して欲しいと思う今日この頃。別に無いなら無いなりにMSDNに明記してくれれば良いのよ。こちらは必死で探すから、そのラグがいとおしいのな。
プロダクトデザイナーから256色のツールバーアイコンをもらったので実装すると、何か変じゃない?あれ?16色に落ちた?みたいな。VCて16色ツールバーしか作れないとな。。いや、.NET 2003だよ?いい加減、その辺対応してないの?て憤慨する訳ですが、とりあえず大急ぎでデザイナー確認用に実装するんだけど、アイコン群は各々がファイルになっているので、ツールバー用に一枚のBitmapを作らないといけない訳じゃないですか。それ作ってからImageListに読み込ませてMenuクラスにマッピングかけるコーディング?それを午前中までに?て、16色ならばIDEでぺぺーってやれば済む問題なんだけど、256色になると話が違うんですってデザイナーやらに説明するのもかったるい現実。超絶なスピードでやってやるぜぇ!て意気込むんだけど、あ、会社のマシン、写真屋入ってないじゃん。。。マップエディタを片っ端からDLして作ろうとしても、どれもこれも何か意味が分からなくて直感的にアイコンファイルを並べたBitmapが作れない。マジでやべぇーて、あ、そうだ、GIMPがあるじゃんて、即効DLして何とか作って間に合わせた。アイコン20枚くらいあるので、レイヤとかちゃんと保存しておいてね、GIMPちゃん!て、保存しようとしたら落ちた(その直前までGIMP様だったのに、落ちた瞬間から糞ソフトに降格させた)。もう、次の作成はないな。ちゅか、俺はやりたくない。ちゅか、もっと効率の良いマッパーが欲しい。ファイルからババーッと作ってくれるやつ。こんな手作業でBitmap切り貼りしているのなんて、全世界探しても俺だけだよ。アホ!