c# - System.Drawing 对象非托管资源处理

标签 c# c#-4.0 dispose unmanaged system.drawing

我有以下代码:

using System.Drawing;
...
Graphics _graphics = Graphics.FromImage(...)
...
public void Draw(Stream stream, Rectangle rect, Color color) {
    _graphics.FillRectangle(new SolidBrush(Color), 0, 0, Width, Height);
    _graphics.DrawImage(new Bitmap(stream), rect);
}

我应该使用 new Bitmap(...) 包围 drawImage 吗? 关于 new SolidBrush(...)

的相同问题

最佳答案

是的,您应该将它们包装在 using 语句中。您还应该确保在您在此类中使用的 _graphics 实例上调用 Dispose 方法。这可以通过让包含类实现 IDisposable 来完成,以便此类的使用者可以将其包装在 using 语句中。

关于c# - System.Drawing 对象非托管资源处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14029451/

相关文章:

c# - GTKSharp、Pango、设置字体大小古怪

c++ - 如何将指针函数从 C++ 导出到 C#?

.net - XML 反序列化(问题)

c# - SharePoint SPSite 处理

c# - 在数据网格中查找文本框

c# - 如何将文件类型与图标相关联?

c#-4.0 - 有没有办法在不使用插件的情况下以Xamarin形式(软件模式-mvvm)创建弹出窗口?

c# - 对象实例已被处置(EF)

xml - ActionScript - 将数据分配给对象数组后处理 XML?

c# - 如何获取所有 USB 驱动器(已插入)