c#WPF将图片转化为图标文件(*.ico)
下面这个转换ico失真很严重.
Bitmap icoBitmap = new Bitmap(bitmap, size);//获得原位图的图标句柄var a = icoBitmap.GetHicon();//从图标的指定WINDOWS句柄创建IconSystem.Drawing.Icon icon = System.Drawing.Icon.FromHandle(a);icon.Dispose();return icon;
下面这篇文章准确的分析了ico文件格式结构
文章链接: https://blog.csdn.net/ecocn/article/details/11147375
//此为伸缩图片var bmp1 = (Bitmap)bmp.GetThumbnailImage(size.Width, size.Height, null, IntPtr.Zero);MemoryStream ms = new MemoryStream();bmp1.Save(ms, ImageFormat.Png);//放入流中var b=ms.GetBuffer();//获得byte[]var ss=Convert.ToString((b.Length), 16).PadLeft(6,'0');//转成十六进制文本var daoshu1= ss.Substring(4, 2);var daoshu2 = ss.Substring(2, 2);var daoshu3 = ss.Substring(0, 2);
byte[] icoStart = { 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,0 ,0 ,//这两个是图片的宽度和高度,但这里没有添加宽高也能正常转换0x00, 0x00,0x01, 0x00,0x20, 0x00,//这里注意是是倒着填的,这个是图片总字节数Convert.ToByte(Hex2Ten(daoshu1 )),Convert.ToByte(Hex2Ten(daoshu2)) ,Convert.ToByte(Hex2Ten(daoshu3)), 0x00,//把十六进制文本转换成十进制,为什么要这么转来转去?????呵呵0x16, 0x00,0x00, 0x00 };//合并数组byte[] icoData = icoStart.Concat(b).ToArray();//取随机文本RandomText rt = new ImageDrawing.RandomText();string fileName = rt.GetPassword(6);string IcoPath1 = string.Format(@"C:\Users\Administrator\Desktop\{0}.ico", fileName);//写出bytesFile.WriteAllBytes(IcoPath1, icoData );
c#WPF将图片转化为图标文件(*.ico)相关推荐
- 借助普通图片生成 icns 图标文件
周末给女朋友做了一个医学影像 DICOM 转 NIFTI 的工具,需要用到 icns 图标,让软件看着更"正规"一些,在网上搜索了一下,发现一个不错的方案,适用于 Linux/Un ...
- MATLAB与图像处理(四):将图片序列转化为视频文件,将视频文件转化为图片
一,将图片序列转化为视频文件 [cpp] view plain copy
- 将图片序列转化为视频文件
原文 http://blog.csdn.net/jxlijunhao/article/details/19981237 原文 https://blog.csdn.net/awakeljw/art ...
- 将图片转换成svg文件,自定义icon小图标,svg速成
将图片转换成svg文件,自定义icon小图标,svg速成 一.svg是什么? 二.操作步骤 1.进入网站 2.将svg复制 3.引用svg文件 总结 一.svg是什么? SVG是一种图像文件格式,它的 ...
- win7文件夹中的图片使用“XX图标”查看模式显示时,无法正常显示图片缩略图
win7文件夹中的图片使用"XX图标"查看模式显示时,无法正常显示图片缩略图 系统: win7 详细症状描述: 进入含有图片的文件夹,选择"查看"菜单栏中的&q ...
- 答:怎样把图片文件转换成.ico图标文件?
答:怎样把图片文件转换成.ico图标文件? 有许多中方法制作图标文件.选其中的两种方式记录下来. 第一种非常简单,使用"小榕图标编辑器".是公用软件.免费.使用起来非常简单,根本不 ...
- 将图片转换成一个Ico图标文件
利用VB6编写的一款图片转ICO图标文件的小工具,程序界面简洁易用,只需载入一张图片便可生成一个ICO图标文件,还可以对图片进行尺寸裁剪,样式有矩形.椭圆.圆角,加边框等功能,图标尺寸最好为正方形,这 ...
- 怎样把图片文件转换成.ico图标文件?
怎样把图片文件转换成.ico图标文件? 比如把.bmp/.jpg/.gif等格式的文件转换成.ico文件.应该如何作呢? 有知道的大哥告知一下吧. 有答案啦!!! 答:怎样把图片文件转换成.ico图标 ...
- WPF引入 ttf 图标文件使用记录
WPF引入 ttf 图标文件使用记录 一.下载图标文件 1. 图标网站 2. 下载图标 二.WPF使用 1. 准备工作 2. 项目使用 3. 代码使用 导言:记录一下 WPF 下面使用 ttf 图标文 ...
最新文章
- 谷歌研究院最新发现:训练结果不准确,超大数据规模要背锅!
- 自控力极差的人如何自救?两个方法战胜拖延!
- VMware的安装教程
- 选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
- bug list---直接访问string内存
- Python基础教程:对象的方法
- sudo命令 和限制root 远程登陆
- 给初学者们讲解人工神经网络(ANN)
- 【Linux环境下安装Maven与环境配置简易教程】
- c语言程序加仿真,求助。C语言的程序和仿真
- feachall php_集合:给 PHP 数组插上翅膀
- android java 退出程序_android开发两种退出程序方式(killProcess,System.exit)
- DFT 与 ATPG综 述
- Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)
- spring 线程安全
- JS原型链原理(链表)
- 华三H3C链路聚合配置实例
- 12款精品网盘资源搜索网站,只有你想不到没有它搜不到的
- Java8新特性:等同 final 效果(Effectively Final)
- android 备份管理器,最佳Android备份提取器和备份解决方案