GIFファイルをバイナリモードで呼び出してファイル情報を確認してみる

とタイトルが長くなってしまいましたが、今回やったことはこれだけです。

本当は使用目的があって作っていたプログラムでしたが効率が悪いことに気づいたので、ここでアウトプットしておきます。

 

ソースコード

 

使用方法

使用方法はシンプルでコマンドライン引数としてgif画像のパスを与えてあげればOKです。

特にエラー時の処理等はしてないので、GIF以外のファイル指定やコマンドライン引数に問題がある場合でも普通に動いちゃうので注意です。

今回のプログラムでは、

  • GIFバージョン
  • カラーレゾリューション
  • 縦横幅(px)

を表示してくれます。

実行画面

 

コード解説

ファイルの読取モードを「rb(バイナリモード)」に指定することで1byte毎にデータを吐き出してくれます。

GIFのフォーマットはヘッダー部が13byte + 0~255*3byte なので、ひとまずバージョンやサイズ等のデータが格納されている頭13byteを今回はヘッダー配列に格納しています。

ImageBlock部分は0x2cから開始なので、そこから画像データの取得も可能です。

今回のプログラムで出しているColor Resolutionは1ドットを表すのに必要なビット数なので、こちらの数値を利用して画像の解析も可能かと思います!

是非お試しあれ!

 

参考にしたサイト

⇒【とほほのWWW入門】GIFフォーマットの詳細

⇒【インターネットスクール 『まなぶ』】バイナリファイル操作

 

今回のブログ曲

今回投稿中に聴いていた曲はこちら


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です