● あらゆるファイルをビットマップに偽装する ●

ダウンロード (21KB)
(初めはなるべく小さいファイルで試してね)

フルカラーのビットマップのフォーマットは以下の通りである。

(1)BITMAPFILEHEADER(14バイト)
(2)BITMAPINFOHEADER(40バイト)
(3)画像データ(4バイト×ピクセル数)

(1)と(2)の両ヘッダに適切な値を設定し、(3)の画像データ部に偽装元ファイルのデータを当て込めば、簡単にビットマップになるのである。その代わり作成されるビットマップは、画像エディタで開いても何の感慨も沸かない「砂の嵐」的なものとなる。

上記サンプルはフルカラーのビットマップであるが、256色ビットマップで偽装するようにすればファイルサイズが小さくなるので、もっと良い感じになるかもしれない。

上記はまったくの間違いでした。256色ビットマップはピクセルデータを1バイトで保持するため、4バイトで保持するフルカラービットマップよりファイルサイズが小さくなると思ったのであるが、よくよく考えてみると、256色であろうがフルカラーであろうが偽装元ファイル分のデータが埋め込まれるので、ファイルサイズが小さくなることは絶対にない。強いて言うなれば、256色ビットマップの縦X横のサイズが大きくなるくらいである。結局、256色ビットマップ偽装の方がデメリットが大きい気がする。

参考までに256色ビットマップのフォーマットは以下の通りである。

(1)BITMAPFILEHEADER(14バイト)
(2)BITMAPINFOHEADER(40バイト)
(3)パレットデータ(4バイト×256)
(4)画像データ(1バイト×ピクセル数)

とういことで反省しつつ256色ビットマップ偽装処理を書いてみた → 反省 (21KB)


戻る