tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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も呼び出しましょう。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。