我需要保存從圖像文件(.png,.jpeg,.bmp)加載的Bitmap對象,並將其另存爲圖標(.ico),以將其保存爲單獨的文件。如何將位圖保存爲圖標?
首先我試圖保存位圖對象與圖標的imageformat一個文件:
using System.Drawing;
Bitmap bmp = (Bitmap)pictureBox1.Image;
bmp.Save(@"C:\icon.ico", Imaging.ImageFormat.Icon);
這一個發生故障,作爲所產生的圖標是不是在適當的格式,並且它不能被用作一個圖標。
下一個是從位圖獲得惠康,並將其保存到一個文件:
using System.Drawing;
using System.IO;
StreamWriter iconWriter = new StreamWriter(@"C:\icon.ico");
Icon ico = Icon.FromHandle(((Bitmap)pictureBox1.Image).GetHicon())
ico.Save(iconWriter.BaseStream);
iconWriter.Close();
iconWriter.Dispose();
這一次沒有做的工作太多。雖然圖標文件是正確書寫,它只有16種顏色和有限的寬度和高度。
我希望能夠寫出自定義寬度和高度的圖標,以保留原始圖像的顏色。這可能在.NET中存檔?
在此先感謝。
GetHicon()工作示例確實做了糟糕的工作。試試這個:http://www.codeproject.com/KB/cs/IconLib.aspx – 2010-10-28 14:40:05
我也用這個成功:http://www.codeproject.com/KB/GDI-plus/safeicon.aspx – 2011-09-28 02:16:04