WindowsMobile?メモ/GIF画像表示
Tag: WindowsMobile
Windows MobileでGIF画像を表示する方法です。
Windows MobileではWindowsで使用しているOleLoadPicture?()関数が使用できません。
olectl.hには記載されていますが、ライブラリは存在しません。
その代わりに以下の関数を使用します。
HBITMAP SHLoadImageFile ( LPCTSTR pszFileName );
ファイル名を指定するだけなので、OleLoadPicture?()より遥かに簡単です。
SHLoadImageFile?()関数を使用する場合は、aygshell.hをインクルードする必要があるので
#include <aygshell.h>
としておく必要があります。
またaygshell.libをリンクする必要があるので、プロジェクトに追加するか、ソースファイルに
#pragma comment( lib, "aygshell.lib" )
の行を追加しておきましょう。
SHLoadImageFile?()関数は以下の画像ファイルを読み込み自動変換してHBITMAPとして返します。
後はHBITMAPとしてSelectObject?()とBltBit?()等で表示するだけです。
ただし、透過GIFとアニメーションGIFには非対応。
アニメーションGIFは最初の1枚だけが表示されます。
透過GIFについてはフォーマットを解析して透過色のRGBを抜き出してTransparentBlt?()を使いましょう。
Windows Mobile 5.0以上ではImaging APIが使用可。
ただし、Imaging APIでもとアニメーションGIFには非対応のようです。
コメントはありません。 コメント/WindowsMobileメモ/GIF画像表示?
Online: 2