将BitmapImage转换为Icon而不保存到磁盘

时间:2014-09-14 21:54:37

标签: c# wpf image bitmap icons

我使用此代码从字符串生成位图。现在我需要将此位图转换为ICO或图标,以下方法不起作用,当我使用System.Drawing.Imaging.ImageFormat.Icon错误是Null Refrence异常时,它会导致错误。如果我使用任何其他格式错误解决和m_notifyIcon中出现新错误,不能将其用作图像。怎么办......

        System.Drawing.Bitmap bmp = TextToBitmap("This");//return bitmap 
        MemoryStream ms = new MemoryStream();
        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Icon);
        BitmapImage imgg = new BitmapImage();
        imgg.BeginInit();
        imgg.StreamSource = new MemoryStream(ms.ToArray());
        imgg.EndInit();
        //img.Source = imgg;
        Icon io = new System.Drawing.Icon(ms);
        m_notifyIcon.Icon = io;

1 个答案:

答案 0 :(得分:0)

得到了我的问题的答案。

        System.Drawing.Bitmap bmp = TextToBitmap("String");
        System.IntPtr ich = bmp.GetHicon();
        System.Drawing.Icon io = System.Drawing.Icon.FromHandle(ich);
        m_notifyIcon.Icon = io;

获取Bitmap图像使用IntPtr并使用上面的代码......