C#自制png转ico图标工具

此项目基于.net framework 4.0

只需把图片拖拽到窗口内,自动转换生成ico图标,在png文件同级目录下。

///
/// 实现代码: 转换Image为Icon
///
///要转换为图标的Image对象
///当image为null时是否返回null。false则抛空引用异常
///
public static Icon ConvertToIcon(Image image, bool nullTonull = false)
{
    if (image == null)
    {
        if (nullTonull) { return null; }
        throw new ArgumentNullException("image");
    }

    using (MemoryStream msImg = new MemoryStream()
                      , msIco = new MemoryStream())
    {
        image.Save(msImg, ImageFormat.Png);

        using (BinaryWriter bin = new BinaryWriter(msIco))
        {
            //写图标头部
            bin.Write((short)0);           //0-1保留
            bin.Write((short)1);           //2-3文件类型。1=图标, 2=光标
            bin.Write((short)1);           //4-5图像数量(图标可以包含多个图像)

            bin.Write((byte)image.Width);  //6图标宽度
            bin.Write((byte)image.Height); //7图标高度
            bin.Write((byte)0);            //8颜色数(若像素位深>=8,填0。这是显然的,达到8bpp的颜色数最少是256,byte不够表示)
            bin.Write((byte)0);            //9保留。必须为0
            bin.Write((short)0);           //10-11调色板
            bin.Write((short)32);          //12-13位深
            bin.Write((int)msImg.Length);  //14-17位图数据大小
            bin.Write(22);                 //18-21位图数据起始字节

            //写图像数据
            bin.Write(msImg.ToArray());

            bin.Flush();
            bin.Seek(0, SeekOrigin.Begin);
            return new Icon(msIco);
        }
    }
}

原文地址:https://www.cnblogs.com/alpha-w/p/10797854.html

时间: 2024-10-30 15:52:12

C#自制png转ico图标工具的相关文章

为网站添加favicon.ico图标

前言 貌似每次都是等到网站快收尾时才做favicon.ico的,这次也不例外.这年代-- 步骤 1.PS制作正方形图标,格式为jpg.jpeg.gif或png. 2.将图标转换为ICO格式,网上有很多在线转换工具,如http://www.ico.la/old.html . 3.将转换好的ICO格式图标放到网站中. 4.网页代码<head></head>之间添加: <link rel="shortcut icon" href="images/fav

透明ico图标制作流程(轻型)

透明ico图标制作重型的就是用photoshop+perfecticon之类的,这类工具基本都是收费的,而且很大,占的资源很多.只需要这个功能去搞这么多东西,而且操作麻烦,很复杂. 针对这个问题,提出了"透明ico图标制作流程(轻型)"的概念. 用到的工具包括之前博客里提到过的cximage,png->ico工具. 第一步是按照之前博客里描述的步骤,将要采用的图标截图保存为png,拖到cximage工具内自动边界透明,然后将保存好的png拷贝到png->ico工具的png文

6.4表格和网页ico图标

表格: 表格格式: <table> <tr> 表格的行 <th >表头</th> <th>表头 </th> </tr> <tr> <td>内容</td> 表格的列 <td>内容</td> </tr> </table> table属性 border边框,属性值 :像素 width 宽度 默认按照内容 属性值:像素和百分比 cellpaddin

ICO图标在线生成,php生成ICO图标在线制作源码

我们做web系统的时候,每个浏览器的tab这里都会有一个图标,这个图标叫favicon图标,favicon.ico文件放在系统的根目录 如果程序员没有ICO制作工具,那么要如何生成图标呢?可以用程序来实现生成啊!也可以把图标裁剪好,选择在线生成,在线生成测试地址:www.vsoyo.com/ico 下面和大家一起探讨下,php生成ICO图标在线制作源码,很简单的原理,请看如下代码 下面是ICO图标在线生成的主要代码 <?php if(!function_exists("generate_f

制作 Favicon.ico 图标教程

摘要:有一些站长认为 favicon.ico 图标对于一个网站没有什么作用.甚至有一些站长认为,少加载一个图片,页面设计展现的速度更快些.的确,理论上是对的,但乐猪认为这种想法是肤浅的!有这种想法的站长一般是没有编程入门知识的站长,下面分别讲一下 favicon.ico 图标的作用. Favicon.ico 图标是什么? 大家所说的 favicon,即是 Favorites Icon 的缩写,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别于其他的网站.当然,这不仅仅

实现flex LinkBar 组件 动态切换ico图标

<?xml version="1.0" encoding="utf-8"?><s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"                        xmlns:s="library://ns.adobe.com/flex/spark"                        xmlns:mx="

怎么在网页中加入ICO图标

1.首先制作一个16x16的icon图标,命名为cssbbs.ico(这里的名字可以随便改!),放在根目录下.2.然后将下面的代码嵌入head区:<link rel="icon" href="cssbbs.ico" type="image/x-icon" /><link rel="shortcut icon" href="cssbbs.ico" type="image/x-ico

Tomcat修改favicon.ico图标,Linux下Tomcat修改favicon.ico图标,Tomcat更换favicon.ico图标

Tomcat修改favicon.ico图标,Linux下Tomcat修改favicon.ico图标,Tomcat更换favicon.ico图标 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年3月2日 http://www.cnblogs.com/fanshu

网站首页title 里显示ico图标

有两种实现方式 图片尺寸大小 第一种:直接做一个favicon.ico 图标放在项目的根目录里就行 第二种:在网页HEAD标记中添加如下代码:<HEAD> <LINK REL=”SHORTCUT ICON” HREF=”http://网站地址/favicon.ico”></HEAD> 使用这个做法的话,就不一定要把图形文件放在网站的根目录下面了,你可以放在任何位置,甚至直接连结到其他网站上面的图形文件也可以,而且图形文件的文件 名也不一定要叫做 favicon.ico,