c#

位置:IT落伍者 >> c# >> 浏览文章

.NET中Image转Icon


发布日期:2022年06月10日
 
.NET中Image转Icon
时候我们需要在内存中转换Image格式到Icon

根据经验通常我们应该可以这样做

Image image = xxxx;///假设这里已经有一个Image对象

SystemIOMemoryStream mStream = new SystemIOMemoryStream()///创建内存流

imageSave(mStream SystemDrawingImagingImageFormatIcon)

Icon icon = IconFromHandle(new Bitmap(mStream)GetHicon())

mStreamClose()

但这里在imageSave的时候会报告错误空对象引用

于是我改变保存的格式为BitmapJpeg等这样就没有错误了(说明不能在内存中直接保存为Icon格式)

但是这样的话取得的Icon将会去掉原图片中的透明信息

一个个格式的试验我们可以发现保存为Gif格式的时候还可以保留透明信息哈哈终于找到

但这里还有值得注意的就是在成功取得内存流后不能直接用Icon构造一定要用Bitmap转否则也会报错

Icon icon = new Icon(mStream)//这种方式将报错

上一篇:开发一个多种语言版本的C#程序

下一篇:在 ADO 和 ADO.NET 中管理离线数据