【发布时间】:2009-02-19 09:50:42
【问题描述】:
调用System.Drawing.Icon.ToBitmap()创建镜像后,处置原来的Icon是否安全?
【问题讨论】:
标签: c# .net icons idisposable
调用System.Drawing.Icon.ToBitmap()创建镜像后,处置原来的Icon是否安全?
【问题讨论】:
标签: c# .net icons idisposable
该方法将Icon 转换为新的Bitmap 对象,因此不会有从Bitmap 到Icon 的引用。
所以是的,处置Icon 是安全的。
【讨论】:
是的。 Icon.ToBitmap 将 Icon 绘制到一个新的 Bitmap 对象上,因此以后可以安全地释放它。
编辑:
查看 Reflector 中的 Icon.ToBitmap() 方法很有趣。我希望它是一个简单的 Graphics.DrawImage 或 Graphics.DrawIcon 调用,但它比这更复杂。只要有可能,该函数将对图标图像数据进行内存复制,但如果无法执行复制,它将恢复为 Graphics.DrawImage 或 Graphics.DrawIcon 调用。内存复制要快得多,这显然是原因,但这使得代码更难阅读。
【讨论】:
是的。 如果您不再需要该图标,并且将位图存储在某个地方,那就没问题了。
【讨论】: