3

调用System.Drawing.Icon.ToBitmap()创建图像后,处置原件是否安全Icon

4

3 回答 3

6

该方法将Icona 转换为新Bitmap对象,因此不会有从Bitmap到 的引用Icon

所以是的,处理Icon.

于 2009-02-19T09:59:14.380 回答
4

是的。Icon.ToBitmap 将 Icon 绘制到一个新的 Bitmap 对象上,因此之后可以安全地处理它。

编辑:
查看 Reflector 中的 Icon.ToBitmap() 方法很有趣。我希望它是一个简单的 Graphics.DrawImage 或 Graphics.DrawIcon 调用,但它比这更复杂。只要有可能,该函数将对图标图像数据进行内存复制,但如果无法执行复制,它将恢复为 Graphics.DrawImage 或 Graphics.DrawIcon 调用。内存复制要快得多,所以这显然是原因,但这使得代码更难阅读。

于 2009-02-19T09:59:55.580 回答
0

是的。如果您不再需要该图标,并且将位图存储在某处,那就没问题了。

于 2009-02-19T09:55:31.597 回答