主要是使用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);
}
}
}
}
}
}
本文作者:网友 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow