/// <summary>
/// 图片转换为ico文件
/// </summary>
/// <param name="origin">原图片路径</param>
/// <param name="destination">输出ico文件路径</param>
/// <param name="iconSize">输出ico图标尺寸,不可大于255x255</param>
/// <returns>是否转换成功</returns>
public static bool ConvertImageToIcon(string origin, string destination, Size iconSize)
{if (iconSize.Width > 255 || iconSize.Height > 255){return false;}Image image = new Bitmap(new Bitmap(origin), iconSize); //先读取已有的图片为bitmap,并缩放至设定大小MemoryStream bitMapStream = new MemoryStream(); //存原图的内存流MemoryStream iconStream = new MemoryStream(); //存图标的内存流image.Save(bitMapStream, ImageFormat.Png); //将原图读取为png格式并存入原图内存流BinaryWriter iconWriter = new BinaryWriter(iconStream); //新建二进制写入器以写入目标图标内存流/*** 下面是根据原图信息,进行文件头写入*/iconWriter.Write((short)0);iconWriter.Write((short)1);iconWriter.Write((short)1);iconWriter.Write((byte)image.Width);iconWriter.Write((byte)image.Height);iconWriter.Write((short)0);iconWriter.Write((short)0);iconWriter.Write((short)32);iconWriter.Write((int)bitMapStream.Length);iconWriter.Write(22);//写入图像体至目标图标内存流iconWriter.Write(bitMapStream.ToArray());//保存流,并将流指针定位至头部以Icon对象进行读取输出为文件iconWriter.Flush();iconWriter.Seek(0, SeekOrigin.Begin);Stream iconFileStream = new FileStream(destination, FileMode.Create);Icon icon = new Icon(iconStream);icon.Save(iconFileStream); //储存图像/*** 下面开始释放资源*/iconFileStream.Close();iconWriter.Close();iconStream.Close();bitMapStream.Close();icon.Dispose();image.Dispose();return File.Exists(destination);
}调用函数即可实现转换,例如我这里输出一个128x128的ico文件:convertImageToIcon(@"C:\Users\swsk33\Pictures\头像与图标\1.png", @"E:\中转\icon.ico", new Size(128, 128));

C#图片无损转换为ico格式相关推荐

  1. 使用python将图片格式转换为ico格式

    因为python打包的时候需要用到ico图片格式,网上看好的图片又没有ico,于是自己寻找了一下python转换图片格式的方法,彻底解决这个问题,以后就可以自己轻松实现转化了,代码如下: " ...

  2. 如何将图片格式转换为ico格式

    文章目录 1. 按 2. 代码 1. 按 很多时候我们需要用到ico格式的图片,网上看好的图片又没有ico格式的,于是自己就写了段python3的代码用于解决转换图片格式的问题.不会跑代码怎么办?我发 ...

  3. 将图片转换为ico格式

    如何将图片保存为ico格式,我看了网上很多的网页直接更改,发现很多会更改了原来的尺寸大小,所以后来搜索发现一种新的方法,主要使用如下: 1.首先选择一个需要的图片格式是png的,这个可以通过截图的方式 ...

  4. 图片怎么转换为jpg格式的?照片如何在线转格式?

    平时在进行图片转换格式(https://www.yasuotu.com/geshi)的时候,很多小伙伴都会去选择下载图片转格式软件,其实还有一种更加快捷方便的方法,可照片转格式在线处理,下面我们就以图 ...

  5. java ico_Java图片处理:ico格式转 PNG/JPG等格式

    一. 什么是ico图标? ico是一种图标格式,大量应用于网站,各个软件的logo或图标展示. 我们在进入某个网站或网页,它们上方标题左侧各自都带有logo图标. 这就是favicon.ico图标,它 ...

  6. PS图片无法保存ICO格式解决方法

    iCO作为一种图标文件格式,很多朋友想制作ICO图标却没有专业的ICO软件,实在很郁闷.尤其是一些汇编软件在做软件图标只支持ICO格式,这让人很蛋疼.Photoshop(以下简称:PS)作为公认的专业 ...

  7. 计算机上如何保存ico格式,怎么把图片转换成ico格式,又快又好

    Ico图标是Windows的图标文件格式的一种小图标,通常作为一个网站的缩略logo来显示.而一般的图片都可以转换成ico图标.那么具体是怎样操作的呢? 操作方法 01 首先查看我们需要转换的图片的格 ...

  8. java图片ico_原创 | Java图片处理:ico格式转 PNG/JPG等格式

    一. 什么是ico图标? ico是一种图标格式,大量应用于网站,各个软件的logo或图标展示. 我们在进入某个网站或网页,它们上方标题左侧各自都带有logo图标. 这就是favicon.ico图标,它 ...

  9. heic格式的图片怎么转换为jpg格式?

    heic格式的图片怎么转换为jpg格式?我们都知道手机有两种系统,一种是安卓系统,一种是苹果系统,这两种不同系统上的图片格式也是不一样的.安卓系统常用的格式是jpg,而苹果系统的图片也有着自己的专属格 ...

  10. C#实现把图片转换为ico格式

    ico格式是我们常见的一种图标格式,曾经常常通过一些别的软件进行转换,现在研究了一下C#其实也可以进行转换. 网上很多方法是通过Bitmap直接获取句柄转为Icon对象并保存,这样得到的ico质量非常 ...

最新文章

  1. Ubuntu创建opencv工程并显示一张图片
  2. 人工智能是如何改变IT运维和DevOps的?
  3. centos 7.9密码改密钥登陆
  4. 家庭作业(信息学奥赛一本通-T1430)
  5. 打开计算机打不开运行错误怎么办,注册表打不开,电脑出错注册表编辑器打不开怎么办?...
  6. (三)映射对象标识符(OID)
  7. 规范使用地图,从规范制图开始
  8. C语言 —— do while循环语句用法与例题
  9. Long-distance navigation and magnetoreception in migratory animals(迁徙动物中的长距离导航和磁感应)...
  10. Cobbler自动安装windows10
  11. 外服游戏服务器如何显示中文,避免国外服务器出现乱码的办法
  12. CMD查看Win10注册码
  13. 视频融合技术平台解决方案
  14. html文档定一层的标记,HTML基本结构和常用标记.doc
  15. LONGSYS 64G M6固态硬盘SM2244G主控开卡
  16. 5G工作频段及波长覆盖计算
  17. C语言---14文件操作---03文件加密器
  18. 强制Edge浏览器以深色模式渲染网页
  19. 08 Halcon 3D点云体积计算
  20. C语言中如何转换汉中,行走,从汉中到刺桐

热门文章

  1. 源代码加密几种简单方法
  2. 计算机学院静态网页毕业论文,静态网页毕业论文静态网页毕业论文.doc
  3. kali更新grub修复双系统windows10引导启动项
  4. 金融衍生品 matlab,Matlab金融工程教程金融衍生品计算PPT精选文档
  5. linux文件夹压缩与分卷压缩
  6. springboot jsonp 跨域请求,springboot使用jsonp跨域
  7. js高级--jsonp跨域
  8. 一张思维导图完成淘宝精细化运营
  9. 制作网页所需的一些简单ps技巧
  10. 思科路由器交换机指示灯状态详解