调用 Icon.ToBitmap() 后处理 Icon 是否安全?

发布于 2024-07-14 01:27:18 字数 84 浏览 5 评论 0原文

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

After calling System.Drawing.Icon.ToBitmap() to create an image, is it safe to dispose the original Icon?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

歌枕肩 2024-07-21 01:27:18

该方法将 Icon 转换为新的 Bitmap 对象,因此 Bitmap 不会引用 Icon >。

所以是的,处理 Icon 是安全的。

The method converts an Icon to a new Bitmap object, so there will be no reference from the Bitmap to the Icon.

So yes, it is safe to dispose the Icon.

玩心态 2024-07-21 01:27:18

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

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

Yes. Icon.ToBitmap draws the Icon to a new Bitmap object so it is safe to dispose it afterwards.

Edit:
Looking at the Icon.ToBitmap() method in Reflector was interesting. I expected it to be a simple Graphics.DrawImage or Graphics.DrawIcon call but it is more involved than that. As long as it is possible the function will do a memory copy of the icon image data instead, but it will revert to a Graphics.DrawImage or Graphics.DrawIcon call if it cannot perform the copy. The memory copy is much faster so that is obviously the reason, but this makes the code much harder to read.

独留℉清风醉 2024-07-21 01:27:18

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

Yes.
If you don't need the icon any more, and have the bitmap stored somewhere, you're fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文