2010年12月04日

GIFファイルの読み込み 第1部



「giflibのインストール」で解説したGIFライブラリ「giflib-4.1.6」にはウィンドウズ向けのサンプルプログラムとしてかなり完成度の高い「gifshow」というサンプルが付属していますが、このサンプルではディスポース方法3番と4番が装備されていないのと、透過画像においてもブラウザの背景色で透過部分を塗りつぶすのみなので、背景画像が絶えず移動するような状態、例えばゲームなどへの転用はできそうにもありません。それから画像を動かしている間絶えずライブラリ関数に読み込みアクセスする為、度重なるアクセスによるライブラリー内部での使用メモリーの肥大化もないとは言えませんし、プログラムの流れがより複雑化して思わぬバグにも繋がりかねません。そこで今回はこのGIFライブラリ「gif-4.1.6」を使用してGIFファイルを一括読み込みし、アニメーションカーソルと同等のパフォーマンスを実現する手法を解説します。

今回は内容が長くなるので3部に分けて解説します。

第1部 CGIFLocalクラスCGIFFileクラスの宣言とメンバー変数について。
第2部 GIFファイルを開いてから各GIFブロックを読み込み、指定されたDCに画像を表示するまで。
第3部 MFCを使った用例とサンプルプログラムを紹介します。
続きを読む


posted by ひろし at 00:34| Comment(0) | GIFファイルフォーマット | このブログの読者になる | 更新情報をチェックする

GIFファイルの読み込み 第2部



GIFファイルの読み込み 第2部」では、GIFファイルを開いてから各GIFブロックを読み込み、指定されたDCに画像を表示するまでを解説します。

GIFファイルの読み込み手順は以下の通りです。

  1. GIFファイルを開いて、ファイルストリームを取得します。
  2. 取得したファイルストリームを使ってGIFライブラリを開き、グローバルデータを保存します。
  3. ローカルデータを順に読み込んでリストに格納します。
  4. ターミネータに突き当たったら読み込みを終了して、GIFライブラリを閉じます。
  5. GIFファイルを閉じた後は、リストに格納されたローカルデータ(CGIFLocalクラス)を元に動画を表示します。



続きを読む
posted by ひろし at 00:38| Comment(0) | GIFファイルフォーマット | このブログの読者になる | 更新情報をチェックする

2010年12月05日

GIFファイルの読み込み 第3部



GIFファイルの読み込み 第3部」では、MFCを使った用例とサンプルプログラムを紹介します。

続きを読む
posted by ひろし at 00:30| Comment(0) | GIFファイルフォーマット | このブログの読者になる | 更新情報をチェックする

2010年12月24日

GIFファイルの書き込み 第1部



今回は、GIFライブラリ「gif-4.1.6」を使用して、DIB画像GIFファイルに書き込む方法を解説します。尚GIFライブラリ「gif-4.1.6」のインストールについては、「giflibのインストール」をご参照ください。

今回も「GIFファイルの読み込み」と同様に、内容が長くなるので3部に分けて解説します。

第1部 グローバール/ローカルカラーテーブルの作成について。
第2部 GIFファイルに各ブロックを書き込む手順について。
第3部 ANI/ICO→GIF、GIF→ANI/ICOファイル変換とそのサンプルプログラムを紹介します。


続きを読む
posted by ひろし at 20:28| Comment(0) | GIFファイルフォーマット | このブログの読者になる | 更新情報をチェックする

2010年12月25日

GIFファイルの書き込み 第2部



「GIFファイルの書き込み 第2部」では、GIFファイルに各ブロックを書き込む手順について解説します。

  1. StreamOut関数で作成した画像情報から、GIFヘッダーを書き込みます。
  2. アニメーションGIF(複数画像)の場合は、アプリケーションブロックを書き込みます。
  3. コメント文がある場合、コメントブロックを書き込みます。
  4. プレーンテキスト文がある場合、プレーンテキストブロックを書き込みます。
  5. 透過画像、表示時間、インターレース、ディスポサル方法の指定がある場合、グラフィックブロックを書き込みます。
  6. StreamOut関数で作成したグローバル(ローカル)カラーテーブル32ビットピクセルデータから、イメージブロックを書き込みます。
  7. 5.と6.の作業を画像枚数分だけ繰り返します。



    続きを読む
posted by ひろし at 19:13| Comment(0) | GIFファイルフォーマット | このブログの読者になる | 更新情報をチェックする

2010年12月29日

GIFファイルの書き込み 第3部



「GIFファイルの書き込み 第3部」では、 ANI/ICO→GIFGIF→ANI/ICOファイル変換とそのサンプルプログラムを紹介します。

続きを読む
posted by ひろし at 04:25| Comment(0) | GIFファイルフォーマット | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。