またお世話になります。
VS2010, MFC, SDI, CFormView アプリで、リボンコントロールを採用しています。
ウィザードでスケルトンを作成すると、リボンコントロールに次のBMP図柄が入ります。
main.bmp --- 左上の丸いボタンの中に入る絵です。
buttons.bmp, filesmall.bmp, filelarge.bmp, writesmall.bmp, writelarge.bmp
これらは、従来のツールバーのアイコンに相当するものです。
main.bmp を編集しようとしました。
main.bmp の情報を IrfanView で調べると、26x26 pixel, 元の色数 16.7 millions
(32 BitsPerPixel), 現在の色数 16.7 millions (24 BitsPerPixel) となっています。
純黒 RGB(0,0,0) が透明色となっているようです。
VS2010 Proffesional には、BMPエディターが付いていないので、Windows のペイント
で main.bmp を開き、絵を少しいじって上書き保存しました。
これでリビルドすると、透明だった部分が黒色となってしまいます!
透明を維持して、これらのBMPファイルを編集するにはどうしたらいいでしょうか?
お解りの方がいらっしゃいましたら、どうぞご教授ください。
32bpp だから、黒を透過色にしてるんではなくて、各ピクセルに透明度を持ってるんで
すね。
ペイントは 32bpp ビットマップの編集に対応していないので、保存すると透明度情報が
落ちて 24bpp で保存されてしまいます。
32bpp のビットマップを編集できるツールを探していますが、今のところ見つかってい
ません。
ちなみに、VS2010 Ultimate のビットマップエディタでも 32bpp には対応していないよ
うです。
GIMP でできるって教えてもらいました。
http://sourceforge.net/projects/gimp-win/
http://www.geocities.jp/gimproject/gimp2.0.html
高機能なツールなので使うには慣れが要ると思います。
他に好みのツールがあれば何を使っても構いませんが。
あるいは、24bpp の画像の透過色を指定すると 32bpp の透明度付き画像に変換するよう
なツールでもいいでしょう。
透過が指定できるペイントツールならGIMP以外にも
色々ありますよ。
例えば、PictBearSEとか、Pixiaとか。
32bitカラーを扱えるペイント系のツールなら
透過設定ができるツールは結構あります。
但し、aetosさんが書かれているようにこの系統のペイントツールは
結構高機能な物が多いので操作に関してはある程度慣れが必要です。
覚えてしまえば、なんて事ないとは思いますけれど。
フォローありがとうございます。
個人的には Paint.NET が対応していなかったのが残念です。
aetos様、PATIO様、有り難うございます。
32bpp ビットマップの編集に対応するソフトを使う必要があることを理解しました。
とりあえず、Pixia をインストールして、main.bmp を開き、そのまま別のフォルダに
BMP形式で保存しようとしたら、「PXA形式以外では透明度やレイヤー情報などの完全な
情報は保存されません」とメッセージが出ました。
構わずBMP形式で保存しましたが、リビルドすると透過色部分が黒になります。
これからGIMPを試してみようと思います。
結果は明日にでもご報告します。
出来ました!
GIMPでは、BMP形式で保存するとき bit数を選べるようになっていて、32bitも選べま
す。
VS2010でリビルドして確認しました。
透明度100%の背景の上に、不透明の描画をしていけば簡単に作れます。
描画の操作には慣れが必要ですが・・・。
ありがとうございました。
すいません、Pixia等操作は出来ても32bitbmpに対応していないみたいですね。
保存の方まで確認取っていませんでした。
それにしてもgimpは高機能ですね。
お絵かきなんかではGIMPを使っていたんですけれど、
bmpで保存することが殆ど無いのでそこまで確認できていませんでした。
編集中はgimpの独自方式で保存して最終的にpngがjpg出力が殆どなんです。