こんにちは。阿部です。
不思議な現象が発生しました。
ピクセル単位で同一の二つの画像ファイルで、保存形式も、作成したアプリケーションも同一のはずなのに、ファイルが不一致となるのです。
再現手順
Windowsのペイントを使用します。(Windows 7 32bitで本現象を確認)
1. ペイントで適当な画像を作成します。
2. 「名前を付けて保存」し、一旦ペイントを閉じます。
3. 保存したファイルを、再びペイントで開きます。
4. 「名前を付けて保存」を選択し、先ほどとは別名で保存します。
これで、2つのBMPファイルができました。
結果
バイナリ比較できる適当なソフトで比較してみてください。
なぜか、不一致となります。
画像本体ではなく、BMPのヘッダ部分が異なるようです。ペイントでは、何か画像に変更がある場合(新規作成を含む)と、何も変更しないで保存する場合で、異なるヘッダが生成されるようです。
どちらのファイルも問題なく使えているので、ペイントのバグというわけではなさそうですが、ちょっと不思議な仕様です。
追記
変化している値は、ビットマップ情報ヘッダのbiSizeImage(画像データサイズ)で、
BITMAPINFOHEADER 構造体の説明によると、
イメージのサイズを指定する (バイト単位)。非圧縮 RGB ビットマップの場合は、0 に設定できる。
とありました。
ビットマップの仕様としてはどちらの状態も正しいみたいですが、新規か編集かでどうして動作が変わるんでしょうね。