如何删除 ShellFile “图标”的背景颜色,但不删除“真实”的背景颜色缩略图
我正在使用 WindowsAPICodePack,获取 ShellFile 的缩略图。但其中一些看起来像通用图标的图标具有黑色背景。因此,我将其设为位图并将黑色设置为透明。
问题是,当它是图片的缩略图时,它不应该这样做。如何区分真正的缩略图和“图标”?
我的代码:
ShellFile sf = ShellFile.FromFilePath(path);
Bitmap bm = sf.Thumbnail.MediumBitmap;
bm.MakeTransparent(Color.Black);
谢谢
I’m using WindowsAPICodePack, getting ShellFile’s Thumbnail’s. But some of those which look like the generic icons – have a black background. I therefore make it a Bitmap and set Black as transparent.
The problem is that when it’s a thumbnail of a picture – it shouldn’t do it. How can I tell a real thumbnail from an “icon”?
My code:
ShellFile sf = ShellFile.FromFilePath(path);
Bitmap bm = sf.Thumbnail.MediumBitmap;
bm.MakeTransparent(Color.Black);
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以从另一个角度来解决这个问题。可以强制 ShellFile.Thumbnail 仅提取缩略图(如果存在)或强制其提取关联的应用程序图标。
所以你的代码看起来像这样:
You can approach this problem from another angle. It is possible to force the ShellFile.Thumbnail to only extract the thumbnail picture if it exists or to force it to extract the associated application icon.
So your code would look something like this: