图标文件(* .ico)可能包含多个不同尺寸和不同颜色深度的图像。如何从.NET图标文件中提取特定图像?
如何从.ico
文件获取System.Drawing.Image
对象?
一个选项是Image.FromFile(...)
,但对于具有多个图像的图标文件,无法指定要返回的图像大小和颜色深度。
理想情况下,解决方案只使用托管代码,但我很高兴听到有关Win32函数的互操作调用。
图标文件(* .ico)可能包含多个不同尺寸和不同颜色深度的图像。如何从.NET图标文件中提取特定图像?
如何从.ico
文件获取System.Drawing.Image
对象?
一个选项是Image.FromFile(...)
,但对于具有多个图像的图标文件,无法指定要返回的图像大小和颜色深度。
理想情况下,解决方案只使用托管代码,但我很高兴听到有关Win32函数的互操作调用。
简单回答所有的问题:IconLib
感谢您的链接。看起来像一个伟大的文章。我不再需要这个了,但下次我用图标工作时,我肯定会检查这个库。希望你的回答也能帮助别人。这是迄今为止最好的答案,所以我接受了它,但如果一个简单的答案出现,不需要外部库,我更喜欢这个。 – 2009-06-22 09:40:25
System.Drawing.Icon可以从文件中加载指定的大小。虽然我不知道深度。 http://msdn.microsoft.com/en-us/library/ms142130.aspx
除了48x48以上的尺寸,似乎。 – 2009-05-09 15:13:07
您将需要使用
Dim icon As System.Drawing.Icon
icon = icon.FromHandle(hIcon)
在惠康结构,你可以指定颜色深度
该链接会引导你在正确的方向:
为什么downvote?我错过了什么吗? – 2009-02-14 18:26:21