Image background; using(Image image = Image.FromFile('image.bmp') { background = (Image)image.Clone(); }
というコードを作った場合、画像は表示できて、image.bmpはクローズされている状態になると思ったんですが、残念ながらファイルはロックされたままのようです。おかしいですね、確か余所で似たコードを見たときは、ちゃんと解放すればいいと書いてあったと思うんですが…。Cloneもダメなんでしょうか?
Image background; using(FileStream stream = new FileStream('image.bmp', FileMode.Open)) { background = Image.FromStream(stream); }
とするとうまくいきます。やっぱりファイル周りは面倒でもStreamを通したほうが安全かなぁ…。
というわけで、Chie.Libに関数を作ることにします。