C#图片无损转换为ico格式
/// <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格式相关推荐
- 使用python将图片格式转换为ico格式
因为python打包的时候需要用到ico图片格式,网上看好的图片又没有ico,于是自己寻找了一下python转换图片格式的方法,彻底解决这个问题,以后就可以自己轻松实现转化了,代码如下: " ...
- 如何将图片格式转换为ico格式
文章目录 1. 按 2. 代码 1. 按 很多时候我们需要用到ico格式的图片,网上看好的图片又没有ico格式的,于是自己就写了段python3的代码用于解决转换图片格式的问题.不会跑代码怎么办?我发 ...
- 将图片转换为ico格式
如何将图片保存为ico格式,我看了网上很多的网页直接更改,发现很多会更改了原来的尺寸大小,所以后来搜索发现一种新的方法,主要使用如下: 1.首先选择一个需要的图片格式是png的,这个可以通过截图的方式 ...
- 图片怎么转换为jpg格式的?照片如何在线转格式?
平时在进行图片转换格式(https://www.yasuotu.com/geshi)的时候,很多小伙伴都会去选择下载图片转格式软件,其实还有一种更加快捷方便的方法,可照片转格式在线处理,下面我们就以图 ...
- java ico_Java图片处理:ico格式转 PNG/JPG等格式
一. 什么是ico图标? ico是一种图标格式,大量应用于网站,各个软件的logo或图标展示. 我们在进入某个网站或网页,它们上方标题左侧各自都带有logo图标. 这就是favicon.ico图标,它 ...
- PS图片无法保存ICO格式解决方法
iCO作为一种图标文件格式,很多朋友想制作ICO图标却没有专业的ICO软件,实在很郁闷.尤其是一些汇编软件在做软件图标只支持ICO格式,这让人很蛋疼.Photoshop(以下简称:PS)作为公认的专业 ...
- 计算机上如何保存ico格式,怎么把图片转换成ico格式,又快又好
Ico图标是Windows的图标文件格式的一种小图标,通常作为一个网站的缩略logo来显示.而一般的图片都可以转换成ico图标.那么具体是怎样操作的呢? 操作方法 01 首先查看我们需要转换的图片的格 ...
- java图片ico_原创 | Java图片处理:ico格式转 PNG/JPG等格式
一. 什么是ico图标? ico是一种图标格式,大量应用于网站,各个软件的logo或图标展示. 我们在进入某个网站或网页,它们上方标题左侧各自都带有logo图标. 这就是favicon.ico图标,它 ...
- heic格式的图片怎么转换为jpg格式?
heic格式的图片怎么转换为jpg格式?我们都知道手机有两种系统,一种是安卓系统,一种是苹果系统,这两种不同系统上的图片格式也是不一样的.安卓系统常用的格式是jpg,而苹果系统的图片也有着自己的专属格 ...
- C#实现把图片转换为ico格式
ico格式是我们常见的一种图标格式,曾经常常通过一些别的软件进行转换,现在研究了一下C#其实也可以进行转换. 网上很多方法是通过Bitmap直接获取句柄转为Icon对象并保存,这样得到的ico质量非常 ...
最新文章
- Ubuntu创建opencv工程并显示一张图片
- 人工智能是如何改变IT运维和DevOps的?
- centos 7.9密码改密钥登陆
- 家庭作业(信息学奥赛一本通-T1430)
- 打开计算机打不开运行错误怎么办,注册表打不开,电脑出错注册表编辑器打不开怎么办?...
- (三)映射对象标识符(OID)
- 规范使用地图,从规范制图开始
- C语言 —— do while循环语句用法与例题
- Long-distance navigation and magnetoreception in migratory animals(迁徙动物中的长距离导航和磁感应)...
- Cobbler自动安装windows10
- 外服游戏服务器如何显示中文,避免国外服务器出现乱码的办法
- CMD查看Win10注册码
- 视频融合技术平台解决方案
- html文档定一层的标记,HTML基本结构和常用标记.doc
- LONGSYS 64G M6固态硬盘SM2244G主控开卡
- 5G工作频段及波长覆盖计算
- C语言---14文件操作---03文件加密器
- 强制Edge浏览器以深色模式渲染网页
- 08 Halcon 3D点云体积计算
- C语言中如何转换汉中,行走,从汉中到刺桐