public void screenShot(string path)
{
var bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height,
PixelFormat.Format32bppArgb);
var gfxScreenshot = Graphics.FromImage(bmpScreenshot);
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0,
0,
Screen.PrimaryScreen.Bounds.Size,
CopyPixelOperation.SourceCopy);
bmpScreenshot.Save(path, ImageFormat.Png);
}
我正在使用此代码捕获计算机的屏幕。
但是今天我发现有一个叫做Bitmap.Dispose()的方法。
调用与不调用Dispose()的区别是什么?代码运行至关重要吗?
最佳答案
如果一个类型实现了IDisposable
接口(interface),则一定要调用Dispose
方法(显式地或通过using
块)。
如果您不这样做,则析构函数(finalizer)负责释放资源。但是,它有一些缺点: