掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ピクチャボックスに表示された画像を保存するには? (ID:54036)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>書き込みありがとうございます。 >少しずつ質問させていただきたいのですがよろしいでしょうか。 >表DC、裏DCと出てきているのですが、表DCのメンバ変数はm_pict1なのですが>裏DCのメンバの定義や裏DC自体の存在がよくわからないのですが…。 > では少しずつ。 表DCは一時的なものです。例えば他のウィンドウに隠されてしまうと隠れた 部分は消滅します。 再度表示される時にはOnPaintが実行され、OnButton1()の内容は なくなってしまいます。(試しにやってみてください。) OnButton1()で表DCに描画した内容を再度描画されるようにする為には どうしたらいいでしょう。 表DCからどこかにその内容を転送して保持しておき、その保存した物を OnPaintの中で、再度表DCに転送する必要があります。 また、変更した物をファイルに保存する事を考えれば、当然そうしておく必要が ありますよね。 そこで裏DCというものが出てきます。 変更させるたびに表DCから裏DCへ転送するのでもかまいません。 が、ファイルから読み込んだHBITMAPは持っているのですからそこに直接描画する 方が効率的ではありませんか?その方法が前回の内容です。 >例えば CDC m_memDC をメンバにして、そこにBitmapを選択させます。 >CStaticの派生クラスを作り、その派生クラスにCDC* m_pDCをメンバを作り、 >親クラスのm_memDCを渡しておきます。 > >この部分がよくわからないのですが・・・。 この部分が分らないと"クラスとは..."から説明しなければならないですね。 >あと >CPaintDC dc(this) ; >dc.BitBlt(0,0,100,100,m_pDC,0,0,SRCCOPY) ; >の部分はonbuttonの中に組み込みたいのですがm_pict1.Invalidate() ;の前に挿入し>ておけばよいのでしょうか。いろいろ聞いて申し訳ありません。よろしくお願いしま>す。 OnPaint内に書かないと上記の理由できちんと表示されません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.