PictureBoxに表示された画像をランダムアクセスファイルの1レコードとして保存する事は可能でしょうか?
複数の画像を1つのファイルに保存し、レコードごとに呼び出したりしたいんですけど・・・。
ランダムでなくても何か方法があれば教えてください。お願いします。
うーん、レコードアクセスはしたことないので、よく分かりませんけど、
方法は特にとわないのなら…。
mhlファイル(IEで、"ページを保存">"ページ全体"でできるファイル)みたいに、
バイナリデータとして、byte型の配列にいれたものをくっつけて保存するとか、
あらかじめ全部保存しておいて、それをくっつけるとかの方法があります。
読みこみのときは、バイナリファイルにはそれぞれヘッダがあるので、
それで区切って調べるとか。
どちらにしても大変そうですね…。
そうそう、画像ファイルなら、32*32ピクセルごとなら32*32ピクセルごとで、
stdPicture型のキャンバスにタイル状にいくつかの画像を貼り付けて、それをふつうの画像ファイルとして保存。
読みこむときにstdPicture型にいれて、そこからPaintPictureで、ピクセルをあわせて表示する…という方法があります。
なんだか説明するとややこしそうに聞こえるんですけど、
よくゲームとかで使われてる方法です。
PaintPictureメソッドは、遅いというのでBitBltという方法もありますけど、
stdPicture型からbitbltで読み込みをするにはいろいろと面倒なので、こっちの方がいいと思います。
PictureBoxの画像をバイナリに落とし込んで
それを単にバイナリで保存すればOK.
ちゃんとBITMAPINFOHEADERから保存しておけば
特に特別なヘッダーなしに次のレコード?というか画像の
オフセットも求められますし。
どちらにしろ、関数で一発、というわけにはいかないので
自力で実装する必要はあります。
PictureBoxの画像からバイナリへの落とし込み、
及びバイナリからPictureBoxへの復元についてわからないことがあれば
また質問してください。
ありがとうございます。
出来るという事がわかったので頑張ろうという気持ちが芽生えてきました!
んが、バイナリへの落とし込みと復元についてがいまいちわかりません・・・。
(バイナリに落とし込むということが???です。)
初心者ですみません・・・。だれか教えてください・・・。
ツイート | ![]() |