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に関数を作ることにします。