- 締切済み
Jpegファイルのロード・先頭アドレス取得
ある関数の引数にJpegファイルをメモリ上にロードした時の 先頭アドレス(ポインタ)を渡したいのですが、ロードして 先頭アドレスを取得する方法が分かりません。 CImageクラス等でロードは出来たのですが、ファイルの先頭アドレス を取得で出来ません。 何方かお分かりになる方、教えてください。 また、メモリ展開後に先頭アドレスが分かったとしたら、 その後、Jpegファイルとして再び指定パスに保存することは 可能なのでしょうか? 可能だとしたら、合わせて方法を教えていただけると ありがたいです。 Jpeg等の画像ファイルを扱うことが初めての為、困って おります。よろしくお願いいたします。 開発環境 : Win2k, VC++.Net 2003, MFC
- みんなの回答 (2)
- 専門家の回答
みんなの回答
CImageクラスで画像ファイルを読み込むと、 内部のデータの内容はもはや元の画像ファイルとは異なります。 そもそも、画像ファイルを読み込んでピクチャボックスに表示して、 更に何か加工を加え再びそれをファイルに書き出すとしても、 「ファイルの先頭アドレス」を取得する必要は無いはずです。 #1さんが御指摘のように、ファイル操作と混同されているのではないでしょうか?
- g_dori
- ベストアンサー率47% (330/699)
一体どんな処理をしたいのでしょうか? ファイル操作と画像操作を混同されているように見えて、イマイチ質問の主旨が理解できません。 ファイルの中身をメモリに展開するならCFileなりFILE構造体を用いれば良いです。 JPEGを描画するならCImageなり、gdi+のImageなり、自作クラスなりで対処してください。 CImageもImageもファイルから読み込み、保存をサポートしていますが、JPEGファイルの性質上、保存する場合は画像が劣化します。 >Jpegファイルをメモリ上にロードした時の先頭アドレス については意味がわからないので回答できませんが、恐らくやりたい事と画像ファイルの仕様そのものに食い違いがあると思われます。 BMPファイルを使用するケースにおいても、ファイル構造そのままメモリに展開するケースばかりではありませんから。