画像ファイルを読み込むためには

[戻る]
Mul 2004/09/15(水) 12:04:45
CViewでファイルをOpen又はSaveでCDocmentsのSerialize
が呼ばれます。
引数のCArchiveを使用してファイルの読み込みや書き込みを行うのだと思うのですが
使用方法がよくわかりません。

テキストファイルなどを読み込むときは以下のように取得することができました。
void CDoc::Serialize(CArchive& ar)
{
    CString m_cText;
    ar >> m_cText;
}

LoadImage関数などを使用するのでしょうか?

シャノン 2004/09/15(水) 12:48:28
そもそも画像ファイルって何ですか?
BMP? JPEG? PNG?
BMP なら LoadImage で読み込めますが、その場合は Serialize は使いません。
Serialize で画像ファイルを読み込もうとするなら、対象のファイルフォーマットに
関する、詳しい知識が必要でしょう。

Takahashi 2004/09/15(水) 12:59:47
シャノンさんも仰ってますが画像のフォーマットは記載した方がいいかと・・・
あと、環境。

ちなみに読み込み方でしたら Mul さんは多分 MFC 使っていると思うので
CImage なんてどうでしょう?

BMP はもちろんですが JPEG とか、PNG とか
お手軽に読み込めて、書き込みもできちゃうし
画像の操作も MFC なんでお手軽簡単。なかなか使える奴です。

# 以前 JPEG の書き込みに使用したことがあります。
# ただ、CImage が VC7 からしかつかえなかったような・・・

あと、試したことはないのですが SDK の StretchDIBits が使えそうです。
が、イメージのデータを直接指定する必要があるので、
データ構造は調べる必要がありそうです。

詳しくは MSDN をどうぞ・・・

古いスレッドには追加発言できません。