C#如何将其它格式图片(如bmp等)转换为ico格式图片
注意:下面的方法savePic.Save(FileName,System.Drawing.Imaging.ImageFormat.Icon);是没有用的!!!!!!就算是...
注意:下面的方法
savePic.Save(FileName ,System.Drawing.Imaging.ImageFormat.Icon);
是没有用的!!!!!!
就算是成功生成了也无法用!不知道为什么.
还有没有别的方法将ico格式从C#里导出,将方法的代码给下吧!谢谢! 展开
savePic.Save(FileName ,System.Drawing.Imaging.ImageFormat.Icon);
是没有用的!!!!!!
就算是成功生成了也无法用!不知道为什么.
还有没有别的方法将ico格式从C#里导出,将方法的代码给下吧!谢谢! 展开
3个回答
展开全部
可以啊
我这么写就ok
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace ToIco
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = openFileDialog1.FileName;
}
}
private void button2_Click(object sender, EventArgs e)
{
if (DialogResult.OK == saveFileDialog1.ShowDialog())
{
//Size size = comboBoxImgSize.Text == "32*32" ? new Size(32, 32) : new Size(16, 16);
Size size = new Size(32, 32);
using (Bitmap bm = new Bitmap(textBox1.Text))
{
using (Bitmap iconBm = new Bitmap(bm, size))
{
//如果是windows调用,直接下面一行代码就可以了
//此代码不能在web程序中调用,会有安全异常抛出
using (Icon icon = Icon.FromHandle(iconBm.GetHicon()))
{
using (Stream stream = saveFileDialog1.OpenFile())
{
icon.Save(stream);
}
}
}
}
}
}
}
}
只是导出的不漂亮,如果不是什么硬性要求可以学1楼.
我这么写就ok
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace ToIco
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = openFileDialog1.FileName;
}
}
private void button2_Click(object sender, EventArgs e)
{
if (DialogResult.OK == saveFileDialog1.ShowDialog())
{
//Size size = comboBoxImgSize.Text == "32*32" ? new Size(32, 32) : new Size(16, 16);
Size size = new Size(32, 32);
using (Bitmap bm = new Bitmap(textBox1.Text))
{
using (Bitmap iconBm = new Bitmap(bm, size))
{
//如果是windows调用,直接下面一行代码就可以了
//此代码不能在web程序中调用,会有安全异常抛出
using (Icon icon = Icon.FromHandle(iconBm.GetHicon()))
{
using (Stream stream = saveFileDialog1.OpenFile())
{
icon.Save(stream);
}
}
}
}
}
}
}
}
只是导出的不漂亮,如果不是什么硬性要求可以学1楼.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么写就行
private void button1_Click(object sender, EventArgs e)
{
Bitmap bit = new Bitmap("E:\\sslm_logo.gif");
Bitmap bit2 = bit.Clone(new Rectangle(0,0,32,32), System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Icon icon = System.Drawing.Icon.FromHandle(bit2.GetHicon());
System.IO.FileStream fileStream = new System.IO.FileStream("E:\\text.ico", System.IO.FileMode.Create);
icon.Save(fileStream);
bit.Dispose();
bit2.Dispose();
fileStream.Close();
fileStream.Dispose();
icon.Dispose();
}
private void button1_Click(object sender, EventArgs e)
{
Bitmap bit = new Bitmap("E:\\sslm_logo.gif");
Bitmap bit2 = bit.Clone(new Rectangle(0,0,32,32), System.Drawing.Imaging.PixelFormat.Format24bppRgb);
System.Drawing.Icon icon = System.Drawing.Icon.FromHandle(bit2.GetHicon());
System.IO.FileStream fileStream = new System.IO.FileStream("E:\\text.ico", System.IO.FileMode.Create);
icon.Save(fileStream);
bit.Dispose();
bit2.Dispose();
fileStream.Close();
fileStream.Dispose();
icon.Dispose();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉c#不适合做图像的处理
如果不要求用C#生成ICO的话,你可以在icon workshop中生成,这是一个很好的ICO软件
如果不要求用C#生成ICO的话,你可以在icon workshop中生成,这是一个很好的ICO软件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询