1. ホーム
  2. c#

ファイルから画像を開き、ロックを解除する?

2023-08-04 22:25:42

質問

私は以下のコードの行で Image をファイルから開くために使用しています。

pictureBox1.Image = Image.FromFile("test.png");

ファイルをロックし、画像をメモリに読み込んで、その後に pictureBox1.Image をメモリ上のコピーに設定し、ロックを解放することを期待します。現実には、ロックは私が Dispose()Image をメモリに保存しています。のファイルを取り除くまで、使わなくなったハードドライブ上のファイルのロックを解除することができません。 メモリ という です を使用しています。

Microsoftのサイトでは、C#ラベルの記事で言及していますが、その解決策は ビジュアル ベーシック で書かれており、私には役に立ちません。

要約すると 私は pictureBox1.Image に格納されている画像に "test.png" に格納された画像を編集し、ユーザが "test.png" などを編集させます。

どのように解決するのですか?

ストリームによるアプローチ は正しくありません。 .

こちらをご覧ください https://stackoverflow.com/a/8701748/355264

上記リンクのコードを修正しました。

Image img;
using (var bmpTemp = new Bitmap("image_file_path"))
{
    img = new Bitmap(bmpTemp);
}