使用C#从图片文件生成图标ICON文件(附源文件)
看到网上有一些网站做图标转换工具,挺好的,所以研究了一下在C#中是如何实现的。其实很简单几行代码就可以搞定。
主要是使用System.Drawing.Icon类的Icon.FromHandle工厂方法。其关键代码如下:
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void ButtonBrowseFile_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
textBoxFilePath.Text = openFileDialog.FileName;
}
}
private void ButtonSaveIcon_Click(object sender, EventArgs e)
{
if (DialogResult.OK == saveFileDialog.ShowDialog())
{
Size size = comboBoxImgSize.Text == "32*32" ? new Size(32, 32) : new Size(16,16);
using (Bitmap bm = new Bitmap(textBoxFilePath.Text))
{
using (Bitmap iconBm = new Bitmap(bm,size))
{
//如果是windows调用,直接下面一行代码就可以了
//此代码不能在web程序中调用,会有安全异常抛出
using (Icon icon = Icon.FromHandle(iconBm.GetHicon()))
{
using (Stream stream = saveFileDialog.OpenFile())
{
icon.Save(stream);
}
}
}
}
}
}
}
附件中是打包的可运行的winform程序代码,下载使用
分类: .Net开发经验