Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29658
  • 博文数量: 11
  • 博客积分: 346
  • 博客等级: 一等列兵
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-14 16:20
文章分类
文章存档

2012年(11)

我的朋友
最近访客

分类: 嵌入式

2012-07-14 09:13:25

时候我们需要在内存中转换Image格式到Icon
    健康知识
    根据经验,通常我们应该可以这样做
   
    Image image = xxxx;///假设这里已经有一个Image对象
   
    System.IO.MemoryStream mStream = new System.IO.MemoryStream();///创建内存流
   
    image.Save(mStream, System.Drawing.Imaging.ImageFormat.Icon);
   
    Icon icon = Icon.FromHandle(new Bitmap(mStream)。GetHicon());
   
    mStream.Close();
   
    但这里在image.Save的时候会报告错误,空对象引用。
   
    于是我改变保存的格式为Bitmap、Jpeg等,这样就没有错误了(说明不能在内存中直接保存为Icon格式)。更多http://lailjiaaie.blog.51cto.com
   
    但是这样的话,取得的Icon将会去掉原图片中的透明信息。
   
    一个个格式的试验我们可以发现保存为Gif格式的时候,还可以保留透明信息,哈哈,终于找到,
   
    但这里,还有值得注意的就是,在成功取得内存流后,不能直接用Icon构造,一定要用Bitmap转,否则也会报错。
   
    Icon icon = new Icon(mStream);//这种方式将报错
阅读(597) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~