linux ico图标大小,带、你了解ico图标文件格式

带、你了解ico图标文件格式

发布时间:2017-08-15 06:01

来源:互联网

当前栏目:web技术类

现在有很多图标采用的都是ico格式,ico图标文件可以存储单个图案,也可以存储多尺寸、多色板。下面我们就来了解下ico图标文件格式构成。28812362553a0cdec69313331467291e.png

图标文件格式

图标文件(*.ico)由图标文件头、图片入口数据和图片数据三个部分组成,这三个部分的具体结构如下:

1. 图标文件头

图标文件头包括三个部分6个字节,他们分别是

数据类型

字节

含义

说明

WORD

2

保留字段(wReserved)

必须0

WORD

2

文件类型(wType)

必须1

WORD

2

图片数量(wCount)

表示该图标文件包含多少个图片

2. 图片入口

接下来是wCount个“图片入口”数据。每个“图片入口”数据结构如下:

数据类型

字节

含义

说明

BYTE

1

图像宽度(bWidth)

单位:像素。256px的图片该值为0

BYTE

1

图像高度(bHeight)

同上

BYTE

1

颜色数(bClrCount)

不重要

BYTE

1

保留字段(bReserved)

必须为0

WORD

2

平面数(wPlanes)

一般为1

WORD

2

比特数(wBitCount)

颜色深度,取值4位、8位、24位和32位

DWORD

4

数据大小(dwImageSize)

对应图片数据占用的字节数

DWORD

4

数据位置(dwOffset)

对应图片数据在文件中的位置

3. 图片数据

对于256X256像素的图片,在文件中存储的格式是PNG,只要将整个PNG文件写在数据区就可以了,对应前面的图片入口的数据大小(dwImageSize)也是PNG文件的大小。但是XP操作系统不认该图片。

对于其他图片,该区域存放了一个目标颜色深度(wBitCount)的数据位图后面跟一个对应的遮罩位图。系统在绘制图标时会先将遮罩位图与目标设备“与”拷贝(SRCAND),然后在把数据位图与目标设备“异或”拷贝(SRCINVERT)。

数据位图的颜色深度可以是4位16色、8位256色、24位真彩色或32位带Alpha通道。需要注意的是就算是32位带Alpha通道的位图也是需要遮罩位图的。

遮罩位图是一个1位颜色深度的2值位图,有图像的位置填0,透明的位置填1。

数据位图的结构与普通位图结构基本相似,但是缺少14位的位图文件头。具体包含位图信息头、颜色表(只有4位和8位的位图才会有,4位的位图颜色表长度为16X4=64字节,8位的位图颜色表长度为256X4=1024字节)和数据区。

位图信息头结构如下:

数据类型

字节

含义

说明

DWORD

4

结构大小(biSize)

固定为40

LONG

4

图像宽度(biWidth)

单位:像素

LONG

4

图像高度(biHeight)

单位:像素。由于还有遮罩因此要X 2

WORD

2

平面数(biPlanes)

一般为1

WORD

2

比特数(biBitCoun

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值