FC2ブログ

ホーム > 2010年09月

2010年09月月度記事一覧

アイコンファイルの読み込み



アイコンファイル複数のアイコン画像を納めたグループアイコン形式をとっており、以下のような構造をしています。

  1. ICONDIR構造体
    アイコンファイル内にあるアイコン数アイコン/カーソルの区別のための情報と、最初のアイコンの分のICONDIRENTRY構造体が格納されています。
  2. ICONDIRENTRY構造体
    アイコンのサイズ/ビット深度カーソルの場合はホットスポット情報、ファイル内でのICONIMAGE構造体までのオフセット値バイト数が格納されています。アイコンが2つ以上格納されている場合に存在し、ICONDIR構造体のすぐ後に続いて、2つ目のアイコンの分からアイコンの個数-1個だけ存在します。
  3. ICONIMAGE構造体
    アイコンDIBヘッダーカラーテーブルXOR/ANDイメージのピクセルデータが格納されています。アイコンの個数分だけ存在します。


...続きを読む

アイコンリソースの読み込み



アイコンリソースは単体のアイコンリソースとそれら単体のアイコンリソースを複数総括するグループアイコンリソースからなり、以下の構造体から構成されます。

  1. GRPICONDIR構造体
    アイコンファイル内にあるアイコン数アイコン/カーソルの区別のための情報と、最初のアイコンの分のGRPICONDIRENTRY構造体が格納されています。
  2. GRPICONDIRENTRY構造体
    アイコンのサイズ/ビット深度と、ICONIMAGE構造体を格納した単体のアイコンリソース(RT_ICON/RT_CUTRSOR)のID番号とバイト数が格納されています。アイコンが2つ以上格納されている場合に存在し、GRPICONDIR構造体のすぐ後に続いて、2つ目のアイコンの分からアイコンの個数-1個だけ存在します。
  3. Xホットスポット(WORDデータ)
    カーソルリソース(RT_CURSOR)の場合にのみ存在します。
  4. Yホットスポット(WORDデータ)
    カーソルリソース(RT_CURSOR)の場合にのみ存在します。
  5. ICONIMAGE構造体(単体のアイコンリソース)
    アイコンDIBヘッダーカラーテーブルXOR/ANDイメージピクセルデータが格納されています。アイコンの個数分だけ存在します。


...続きを読む

libpngのインストール



今回から3回に渡ってPNGファイルフォーマットについて解説します。第一回目はPNGファイルフォーマットを扱う上で必要になってくるPNGライブラリー(libpng)インストール手順について解説します。

...続きを読む

PNGファイルの読み込み



PNGファイルは以下の手順で読込みます。

  1. PNGの初期化ヘッダー情報を読込む。
  2. PNGイメージデータを読込む。
  3. PNGイメージデータからDIBを作成する。


...続きを読む

PNGファイルの書き込み



DIBデバイス独立ビットマップ)をPNGファイルに書き込む場合は、以下のような流れになります。

  1. DIBハンドルからDIBSECTION構造体を取得し、必要となる各値を算出する。
  2. DIBカラーテーブルがあれば取得し、PNGパレットに変換する。
  3. DIBイメージデータPNGイメージフォーマットに変換する。
  4. PNGファイルに書き込む。

...続きを読む

アイコンファイルの書き込み



以前解説した「アイコンファイルの読み込み」及び「アイコンリソースの読み込み」で読み込んだグループアイコン(CGroupIconクラス)をファイルに保存する方法を説明します。

  1. ICONDIR構造体をファイルに書き込んでから、エントリーしているアイコンの個数分、空のICONDIRENTRY構造体を先に書いておきます。
  2. エントリーしているアイコン毎に、ICONDIRENTRY構造体ICONIMAGE構造体をファイルに書き込みます。


...続きを読む

すべての記事一覧

ホームへ戻る > 2010年09月

タグクラウド
ブロとも申請フォーム

この人とブロともになる

ブロとも一覧

このページの先頭へ戻る