アクティブなウィンドウの印刷画面を表示し、その中に特定のサブイメージが含まれているかどうかを調べる必要があります。 screenshot(largeImage)にsmallImageが含まれているかどうかを確認するには、AForgeライブラリ(NuGet製)/ ProcessImage()メソッドを使用します。画像を比較した結果、スクリーンショット(largeImage)を削除する必要がありますが、例外が発生しました:AForge.Imaging ProcessImage()メソッドでイメージファイルが解放されない
他のプロセスで使用されているため、プロセスはファイル 'c:\ largeImage'にアクセスできません。
一部のデバッグ後、ファイルをロックしているのがFindSubImage()メソッドであることがわかります。
FindSubImage()はこのように実装されています
private bool FindSubImage(string largeImagePath, string smallImagePath)
{
Bitmap largeImage = (Bitmap)Bitmap.FromFile(largeImagePath);
Bitmap smallImage = (Bitmap)Bitmap.FromFile(smallImagePath);
ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0.8f);
TemplateMatch[] match = tm.ProcessImage(largeImage, smallImage);
if (match.Length > 0)
{
return true;
}
return false;
}
LARGEIMAGEは、私はちょうど取ったスクリーンショットofcourseのです。
は私が} {)(使用してコードをラップしようとしたが、それは言って私にエラーを与える:usingステートメントで使用タイプは「System.IDisposable」に暗黙的に変換可能でなければなりません
使用後にlargeImageを削除する方法はありますか?