1

画像のサイズを変更するために BackgroundWorker でプロセスを実行しています。UseShellExecute = falseプロセスのstartinfoを設定すると、UI スレッドでFreeImageNetライブラリを使用して画像を同時に操作すると、奇妙な動作が発生します。奇妙な動作はCloseMultiBitmap()、メソッドを介して新しい画像を閉じようとすると動作しているように見えますが、最終的な画像ではなく、FICACHE および FISPOOL ファイルのみが残ることです。設定するとUseShellExecute = true、すべてが期待どおりに機能します。

backgroundworker プロセスは、ImageMagick の convert.exe コマンドライン プログラムを呼び出します。ただし、コマンドを実行すると発生します。UseShellExecute プロパティが原因のようです。異なるスレッドから同じ画像に取り組んでいないことを保証します。

基本的に、プログラムは分割およびマージ操作のために複数ページの tiff ファイルをロードします。TIFF を読み込むと、各ページが元のページから抽出され、一時フォルダーに保存されます。次に、backgroundworker を使用して、各ページのプレビュー イメージを生成します。これには 1 ページあたり約 0.5 秒かかるため、60 ページの tif の読み込みには時間がかかる場合があります。プレビュー画像を読み込んでいる間、マージと分割を行うことができます。現時点では、元の画像のみを操作します。

UseShellExecuteに光を当てられる人はいますか? StandardError を読めるようになりたいです。このプロパティが別のスレッドで実行されているコードにどのように影響するかわかりません。

御時間ありがとうございます。

4

0 に答える 0