※ ChatGPTを利用し、要約された質問です(原文:画像処理したBitmapをピクチャボックスで表示すると、例外が発生して)
画像処理したBitmapをピクチャボックスで表示する際の例外発生について
このQ&Aのポイント
VC#を使用してVisual Studio 2008で画像処理したBitmapをピクチャボックスで表示すると、「オブジェクトは現在他の場所で使用されています」という例外が発生します。
無限ループ内の画像処理とUpdateUI関数が衝突していると考えられます。
invokeをコメントアウトすると例外は発生しなくなります。解決方法を教えてください。
画像処理したBitmapをピクチャボックスで表示すると、例外が発生して
画像処理したBitmapをピクチャボックスで表示すると、例外が発生してしまいます。
使用言語はVC#、開発環境はVisual Stdio 200です。
コードは以下の通りです。
class MyClass
{
Bitmap bmp_result;
public MyClass()
{
bmp_result = new Bitmap(1024,768,PicelFormat.24bpprgb);
}
while (true)
{
・スクリーンショット画像を撮影し、bmp_resultに格納
・bmp_resultに対して画像処理
//結果をピクチャボックスに表示。
Invoke(new UpdateDelegate(UpdateUI));
}
private void UpdateUI()
{
pictureBox1.Image = this.bmp_result;
}
}
実行すると、
bmp_resultに対する画像処理のところで
「オブジェクトは現在他の場所で使用されています。 」
という例外が発生してしまいます。
invokeをコメントアウトすると、例外は発生しなくなります。
よって、UpdateUI関数と、無限ループ内の画像処理とが衝突しているのではないかと
思っているのですが、どう直せば解決するのかわかりません。
どなたかアドバイスをください!