PaintoPicture後のPictureBoxの内容をClipboardにコピーするには?

解決


でんか  2004-09-28 18:23:57  No: 116610  IP: [192.*.*.*]

Clipboard上の画像をPictureBoxに読み込んで、PaintPictureで一部だけを切り取り、切り取った結果をClipboardに再びコピーしたいのですが、うまくいかなくて困っています。

Picture1.Picture = Clipboard.GetData
Picture2.PaintPicture Picture1.Picture, 0, 0, 10, 10, 0, 0, 10, 10
Clipboard.SetData Picture2.Image

としているのですが、Picture2は切り取ったものが表示されているのに、最後のClipboardへのコピー内容は元の画像のままです。どなたかヒントをご教授ください。

編集 削除
nanashi  2004-09-28 18:43:47  No: 116611  IP: [192.*.*.*]

SetDataする前にクリップボードをClearするとか。

編集 削除
でんか  2004-09-28 18:47:43  No: 116612  IP: [192.*.*.*]

SetDataする前にクリップボードをClearすると、SetDataしても最後までClipboardはClearされたままになります。

編集 削除
みい  2004-09-28 21:49:11  No: 116613  IP: [192.*.*.*]

Clipboard.SetData Picture2.Image, vbCFDIB
ではいかがでしょうか?

編集 削除
nanashi  2004-09-28 22:54:51  No: 116614  IP: [192.*.*.*]

Picture2のAutoRedrawはTrueになってますか?
あとPaintPicture時のWidthとHeightがだいぶ小さい値になってますけど、これをもっと大きい値にしてみては?
私の環境では問題無く出来ますけど。

    Picture1.Picture = Clipboard.GetData
    Picture2.PaintPicture Picture1.Picture, 0, 0, 900, 900, 0, 0, 900, 900
    Clipboard.Clear
    Clipboard.SetData Picture2.Image

編集 削除
でんか  2004-09-30 22:11:18  No: 116615  IP: [192.*.*.*]

みなさんありがとうございました。
原因はわかりませんが、できるようになりました。

編集 削除