BMPファイルには幅、高さの1m当たりのピクセル数の情報がそれぞれ「&H26」と「&H2A」に4バイトづつ記録されているようですがこの情報指定して書き込んで保存する方法があるのでしょうか?
それとも一度SavePictureで保存してからバイナリで書き込むしかないでしょうか?
保存時点で情報を書き込みたいので教えてください。
保存する前に書き換えればよいかと
自前でビットマップHEADERを用意しGetDIBis等でデータを取得して
ビットマップファイルヘッダーを足して保存すればできますね。
もっと簡単な方法があるかもしれませんが。
> もっと簡単な方法があるかもしれませんが。
個人的には質問者の
> > 一度SavePictureで保存してからバイナリで書き込むしかないでしょうか?
の方が簡単に思えるなぁ…
ファイル先頭からの0ベースオフセット位は決まってるわけだし。
ご回答ありがとうございました。
YUKIさんが教えてくれたGetDIBisをググりましたが分かりませんでした。ありがとうございました。何かパラメーターを設定して保存する、などの簡単な方法があったら、などと思いましたがなさそうなのでガッさんのアドバイスのように一度保存してからヘッダーだけを変更することにします。ありがとうございました。
すみません誤字がありました。(ググったら1件ヒットしたけど)
×GetDibis
○GetDibits
後学のために暇なときにでも見てください。
ご親切にありがとうございました。結論から申しますと 1.1m当たりピクセル数のアドレスを確認する(ない場合もあるため) 2.(あったら)指定したい数値だけを書き換える(8バイト)ということで解決しました。 GetDiBitsはこれから勉強します。
ツイート | ![]() |