如何使用C#将PNG或JPEG图像转换为图标?

时间:2015-11-07 07:41:45

标签: c# image png ico

我想知道是否可以使用C#将PNG或JPEG图像文件转换为Icon文件(.ico)。到目前为止,我试图使用的代码让我失望。转换文件后,转换后的Icon文件在尝试在与Icon(.ico)文件兼容的其他软件中使用时会损坏。或者当我尝试在Windows照片库中查看它时,它已损坏。我不知道我做错了什么,但这是我的代码:

    private void btnConvert_Click(object sender, EventArgs e)
    {
        Bitmap Cbitmap = null;
        try
        {
            Cbitmap = new Bitmap(@"C:\Users\Landon\Pictures\image.png"); //(32, 32, PixelFormat.Format64bppPArgb);
        }
        catch(Exception)
        {
            MessageBox.Show("Error opening given Image file", "File Error",
            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            return;
        }
        Cbitmap.MakeTransparent(Color.Transparent);
        System.IntPtr icH = Cbitmap.GetHicon();
        Icon ico = Icon.FromHandle(icH);
        Cbitmap.Dispose();
        System.IO.FileStream f = new System.IO.FileStream(@"C:\Users\Landon\Pictures\" + "\\image.ico", System.IO.FileMode.OpenOrCreate);
        ico.Save(f);
        MessageBox.Show("Image is converted to ICON and saved in the directory: " + @"C:\Users\Landon\Pictures\" + " with name image.ico"); 
    }

如果由于某种原因我不清楚我想要问什么让我知道,我会编辑我的问题。现在我诚实地尽我所能。所有评论都表示赞赏。

0 个答案:

没有答案