タイトル : Re: Imageクラスで画像編集すると元の画像ファイルが削除できない 投稿日 : 2017/10/05(Thu) 21:48 投稿者 : Hongliang
> Dim oImage As Image = Image.FromFile("C:\Test\a.jpg") Image.FromFileでロードした場合、このインスタンスのDisposeを呼び出すまではファイルがロックされます。 が、 > oImage = oImage.GetThumbnailImage(oSize.Width, oSize.Height, Nothing, IntPtr.Zero) ここで元のImageとは別のImageインスタンスをoImageに代入してしまっているため、元のImageインスタンスは触れなくなってしまっています。 > oImage.Dispose() ここでDisposeしているのはGetThumbnailImageで取得したImageインスタンスであってFromFileでロードしたImageではありません。 GetThumbnailImageが返すImageオブジェクトはまた別の変数、例えばoImage2に代入し、oImage.Disposeを行った後であれば削除できるでしょう。 // もちろん、oImage2.Disposeも呼び出しましょう。 |