C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: bitmapファイル保存時のエラー解消方法について


(過去ログ 103 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■61577 / inTopicNo.1)  bitmapファイル保存時のエラー解消方法について
  
□投稿者/ コウ (8回)-(2011/08/20(Sat) 13:59:25)

分類:[.NET 全般] 

こんにちは、コウと申します。

エラーが発生し困っています。

アクティブウインドウのスクリーンショットを取得し、
その結果をビットマップファイルとして保存すると言う以下の処理を実行中に
以下のエラーが発生致しました。

以下の処理を2回実行するとエラーが発生します。
FileStreamが保持されたままになっているため、開放すると言うような記述をHPで拝見しましたが、
改善方法が分からず非常に困っています。

エラーを解消する方法をご存知の方がいらっしゃいましたら、アドバイス頂けますと幸いです。

宜しく御願いいたします。

■エラー
GDI+で汎用エラーが発生しました。

■処理
public Char ScrShotActWindow(String argWindowName, String argSaveFilePath, int argSaveFlg) //アクティブウィンドウ名を取得
{
//ウィンドウをアクティブ化
ClsWindow argActWin = new ClsWindow();
argActWin.ActWindow(argWindowName);

// [Alt]キー+[Print Screen]キーの送信
SendKeys.SendWait("%{PRTSC}");

if (argSaveFlg == 1)
{
// クリップボードに格納された画像の取得
IDataObject data = Clipboard.GetDataObject();
if (data.GetDataPresent(DataFormats.Bitmap))
{
Bitmap bmp = (Bitmap)data.GetData(DataFormats.Bitmap);
bmp.Save(@argSaveFilePath, ImageFormat.Jpeg); <=★ここでエラー
bmp.Dispose();
}
}
return('1');
}


引用返信 編集キー/
■61578 / inTopicNo.2)  Re[1]: bitmapファイル保存時のエラー解消方法について
□投稿者/ shu (948回)-(2011/08/20(Sat) 14:47:11)
No61577 (コウ さん) に返信

argSaveFilePathで指定したファイルが開かれている為だと思います。
閉じてから呼ぶようにすると良いと思います。
引用返信 編集キー/
■61580 / inTopicNo.3)  Re[2]: bitmapファイル保存時のエラー解消方法について
□投稿者/ コウ (9回)-(2011/08/20(Sat) 15:36:20)
No61578 (shu さん) に返信
> ■No61577 (コウ さん) に返信
>
> argSaveFilePathで指定したファイルが開かれている為だと思います。
> 閉じてから呼ぶようにすると良いと思います。

アドバイスありがとうございます。

閉じてから呼ぶとありますが、私としては、以下のソースによりリソースを開放しているため、閉じる処理と同等の処理をしているつもりですが、エラーが解消せず困っております。

bmp.Dispose();

閉じるとはどのように記述すれば宜しいのでしょうか?

初歩的な質問となってしまい申し訳ございませんが、宜しく御願いいたします。
引用返信 編集キー/
■61582 / inTopicNo.4)  Re[3]: bitmapファイル保存時のエラー解消方法について
□投稿者/ shu (950回)-(2011/08/20(Sat) 15:52:34)
No61580 (コウ さん) に返信

> bmp.Dispose();
>
> 閉じるとはどのように記述すれば宜しいのでしょうか?
>
> 初歩的な質問となってしまい申し訳ございませんが、宜しく御願いいたします。

提示されている部分については多分大丈夫だと思うので、提示されていない箇所でファイルを開いている所がないか
確認してみてはどうでしょう?多分というのはこの処理がどのように呼ばれているのか分からない為断定出来ないと
いうことです。
引用返信 編集キー/
■61583 / inTopicNo.5)  Re[4]: bitmapファイル保存時のエラー解消方法について
□投稿者/ コウ (11回)-(2011/08/20(Sat) 16:14:09)
No61582 (shu さん) に返信
> ■No61580 (コウ さん) に返信
>
>>bmp.Dispose();
>>
>>閉じるとはどのように記述すれば宜しいのでしょうか?
>>
>>初歩的な質問となってしまい申し訳ございませんが、宜しく御願いいたします。
>
> 提示されている部分については多分大丈夫だと思うので、提示されていない箇所でファイルを開いている所がないか
> 確認してみてはどうでしょう?多分というのはこの処理がどのように呼ばれているのか分からない為断定出来ないと
> いうことです。

1回ボタンを押して、少し待ってから2回目ボタンを押すとエラーは発生しませんでした。
少し待てば、何度押しても大丈夫でしたので、処理中に再実行してしまいエラーが発生してしまっていた模様です。
お騒がせして申し訳ございませんでした。
また、アドバイス頂きまして誠にありがとうございました。
引用返信 編集キー/
■61584 / inTopicNo.6)  Re[5]: bitmapファイル保存時のエラー解消方法について
□投稿者/ コウ (12回)-(2011/08/20(Sat) 16:14:36)
No61583 (コウ さん) に返信
> ■No61582 (shu さん) に返信
>>■No61580 (コウ さん) に返信
>>
> >>bmp.Dispose();
> >>
> >>閉じるとはどのように記述すれば宜しいのでしょうか?
> >>
> >>初歩的な質問となってしまい申し訳ございませんが、宜しく御願いいたします。
>>
>>提示されている部分については多分大丈夫だと思うので、提示されていない箇所でファイルを開いている所がないか
>>確認してみてはどうでしょう?多分というのはこの処理がどのように呼ばれているのか分からない為断定出来ないと
>>いうことです。
>
> 1回ボタンを押して、少し待ってから2回目ボタンを押すとエラーは発生しませんでした。
> 少し待てば、何度押しても大丈夫でしたので、処理中に再実行してしまいエラーが発生してしまっていた模様です。
> お騒がせして申し訳ございませんでした。
> また、アドバイス頂きまして誠にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -