# @fiahfy/ico 中文文档

规范地址：https://npmcn.com/package/%40fiahfy/ico/

版本：0\.0\.5
npm 元数据更新时间：2022-04-05T10:38:10.159Z
中文译文更新时间：2026-11-14T16:42:48.751Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fiahfy/ico
原文对照：https://npmcn.com/package/%40fiahfy/ico/?lang=original
项目主页：https://github.com/fiahfy/ico
源码仓库：https://github.com/fiahfy/ico

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：22 kB，17 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=8
- 运行依赖：1 个
- 首次发布：2018-10-07T11:39:44.385Z
- 最新版本发布：2020-12-29T15:17:36.291Z
- 近 30 天下载量：4931（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

ICO 文件格式解析器和构建器

## 安装

```sh
npm install @fiahfy/ico
```

也可以使用：`pnpm add @fiahfy/ico`、`yarn add @fiahfy/ico`、`bun add @fiahfy/ico`

## README

# 页:1

![badge](https://github.com/fiahfy/ico/workflows/Node.js%20Package/badge.svg)

> [ICO 文件格式](https://en.wikipedia.org/wiki/ICO_\(file_format\)) 解析器和构建器.

## 安装

```bash
npm install @fiahfy/ico
```

## 使用量

### 分析

```js
import fs from 'fs'
import { Ico } from '@fiahfy/ico'

const buf = fs.readFileSync('icon.ico')
const ico = Ico.from(buf)
console.log(ico.fileHeader) // IcoFileHeader { reserved: 0, type: 1, count: 7 }
console.log(ico.infoHeaders[0]) // IcoInfoHeader { width: 16, height: 16, ... }
```

### 大楼

```js
import fs from 'fs'
import { Ico, IcoImage } from '@fiahfy/ico'

const ico = new Ico()
let buf

buf = fs.readFileSync('128x128.png')
image = IcoImage.fromPNG(buf)
ico.append(image)

buf = fs.readFileSync('256x256.png')
image = IcoImage.fromPNG(buf)
ico.append(image)

/* Some other PNG files */

fs.writeFileSync('icon.ico', ico.data)
```

## API 密码

### 类:Ico

#### 静态从(缓冲)

从图标缓冲器创建哈里发国.

##### 缓冲

类型 : `Buffer`

哈里发国图标缓冲器.

#### 附件( 图像)

在结尾添加哈里发国图像.

##### 图像

类型 : `IcoImage`

哈里发国图像作为附件.

#### 插入(图像、索引)

在指定位置插入哈里发组织图像.

##### 图像

类型 : `IcoImage`

要插入的哈里发国图像 .

##### 指数

类型 : `number`

插入ICO图像的位置 .

#### 删除( 索引)

删除指定位置的哈里发组织图像.

##### 指数

类型 : `number`

哈里发图像要删除的位置 .

#### 文件头

类型 : `IcoFileHeader`

交回哈里发国的文件头.

#### 信息头

类型 : `IcoInfoHeader[]`

归还哈里发国的信息头条.

#### 图像

类型 : `IcoImage[]`

把哈里发国的图像还给我.

#### 数据

类型 : `Buffer`

归还哈里发国缓冲器.

### 类: IcoImage

#### 静态从(缓冲)

从缓冲器创建哈里发图像 .

##### 缓冲

类型 : `Buffer`

哈里发国图像缓冲器.

#### 来自PNG(缓冲)的静态

创建哈里发国 PNG图像缓冲器的图像.

##### 缓冲

类型 : `Buffer`

PNG图像缓冲器.

### 类: IcoInfoheader( IcoInfoheader) :

#### 静态从(缓冲)

从缓冲器创建哈里发国信息头.

##### 缓冲

类型 : `Buffer`

哈里发国信息头缓冲器.

### 类: IcoFile 页眉

#### 静态从(缓冲)

从缓冲器创建 ICO 文件头 .

##### 缓冲

类型 : `Buffer`

ICO文件头缓冲.

## 规格

### 支持的大小

| 大小 |
| --- |
| 16x16 (英语) |
| 24x24 (英语) |
| 32x32 (英语) |
| 48x48 (英语) |
| 64x64 (英语) |
| 128x128 (英语) |
| 256x256 (韩语) |

## 常见问题

### @fiahfy/ico 是什么？

ICO 文件格式解析器和构建器

### 如何安装 @fiahfy/ico？

在项目目录运行 npm install @fiahfy/ico，或使用 pnpm add / yarn add / bun add。

### @fiahfy/ico 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fiahfy/ico 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @fiahfy/ico 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=8。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @fiahfy/ico 可以商用吗？

@fiahfy/ico 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fiahfy/ico 的下载量有多少？

根据 npm 官方下载统计，@fiahfy/ico 在 2026/10/15 – 2026/11/13 这 30 天内被下载 4,931 次，日均约 164 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fiahfy/ico 还在维护吗？

最新版本 0\.0\.5 发布于 2020/12/29（5 年前）；至今共发布 5 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/10/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

