gpt4 book ai didi

c# - 调用 Imaging.CreateBitmapSourceFromHIcon 后能否安全地处理图标?

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:09 26 4
gpt4 key购买 nike

对于显示一组给定文件的文件路径和相关文件图标的用户控件,我们提取这些文件的Icon 并创建ImageSource 供以后使用的实例。

大致:

FileIcons aIcon = new FileIcons(filePath);
System.Drawing.Icon i = aIcon.GetSmallIconWithTypeName(isFolder, out typeName);
ImageSource imgSource = Imaging.CreateBitmapSourceFromHIcon(i.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());

不相关但仅供引用:FileIcons 类使用 Shell32.dll 的 SHGetFileInfo 和 ExtractIconEx 来获取图标。

有趣的部分是在调用 Imaging.CreateBitmapSourceFromHIcon(...) 之后:

我可以安全地 .Dispose() Icon 创建 ImageSource 并继续使用 ImageSource之后呢?

感谢您的帮助,

弗兰克

最佳答案

可以,位图和图标之间没有链接,前者是从后者派生的独立内存图像,但不链接到后者。

不要忘记为 i 调用 DestroyIcon()

关于c# - 调用 Imaging.CreateBitmapSourceFromHIcon 后能否安全地处理图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29033645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com