- - PR -
アイコンのロードについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-06-08 16:18
お世話になります。
24bitアイコンを以下のようにロードすると、エラーが出てしまいます。 Dim bmpIcon As Bitmap bmpIcon = New Bitmap(strFname) 32bitアイコンやパレット付きアイコンは上記プログラムで正常にロードされるのですが、 なぜか24bitアイコンの場合のみ 『使用されたパラメータが有効ではありません。』 というエラーが出てしまいます。 どのようにすれば正常に24bitアイコンもロードすることができるのでしょうか? 24bitアイコンに限らず、全てのアイコンがロードでき、 パレット情報や色情報を取得できる方法をご教授ください。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-06-11 09:42
そんな方法はありません。 24bitのアイコンが読めないのは透過色の問題です。 アイコンは透過処理が必要なので 透過チャンネルのある32bitアイコンはそのままBMPにできますが、 透過チャンネルの無い24bitアイコンをBMPによむと情報が失われます。 以下のコードで24bitアイコンが読めますが、 読み込んだ結果は32bitのアルファつきBMPになります。 色情報などがほしいのでしたら 自分で実装するのがいいでしょう。
| ||||||||
|
投稿日時: 2007-06-21 04:57
そうですか。ファイルを読み込むところから
自分で実装するしかないようですね。 そうなるとWindows Vista対応の256x256(png圧縮)のアイコンのロードも 自分で実装しなければならなくなります。 png圧縮されたアイコンのヘッダー情報が通常のものと違うようですが、 MSのサイトには掲載されていませんでした。 ヘッダー情報が掲載されているサイト・文献等、ご存知の方がいたら教えてください。 追記 れいさんありがとうございました。 [ メッセージ編集済み 編集者: Hidering 編集日時 2007-07-03 14:48 ] |
1