圖標文件(* .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