- ベストアンサー
PictureBoxにPSetしてそれをImageへ
VBに関して経験の浅い者です。 今、タイトル通り、ピクチャーボックスオブジェクト(名前はPict1とする)に、 Pict1.PSet(i,j),color(適当な数) と言うコードを実行していって描画し、 画像を作ったとします。 それで、Pict1にそうして描いて表示されている画像を イメージオブジェクト(名前はImageとする)に送って表示させたいのですが、 方法が分かりません。 Image.[何か]=Pict1.[ナンか]とすれば良さそうだと言う検討を立ててみたの ですが、こんな風にプロパティの色々で解決できますでしょうか? あと、イメージオブジェクトの説明に、「「AutoRedraw」を有効にしておくと フォームやピクチャーボックスが変更された時にそれが即複写される」とあったの ですが、例えば上のPict1の描写を反映させるにはどうすればいいのでしょう? Imageに入力する以上はAutoRedrawのターゲット(?に相当する概念)を設定する 必要があると思うのですが、、、
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Image.Picture=Pict1.Image にして、Pict1のオブジェクトの「AutoRedraw」 をTrueにすればできますよ♪
その他の回答 (1)
- Tattoko
- ベストアンサー率17% (3/17)
PSetメソッドを実行するより前に、まずPictureBoxのAutoRedrawをTrueにしておけばOKです。 AutoRedrawがFalseの状態では、PSetを実行した後にそのPictureBoxが他のウィンドウの裏に隠れたりするだけで画像が消えます。いったん描かれるだけで記憶されていないんです。よって、Imageプロパティは元のままになってしまいます。 とにかく、デザイン時にPict1のAutoRedrawをTrueにしておけば、 Image.Picture = Pict1.Image でできます。
お礼
なるほど、もう一つコツがあるわけですね。ありがとうございます。
お礼
早速でスマートなお答えありがとうございます。早速試してみます