# vips-img-tile **Repository Path**: Guangloo/vips-img-tile ## Basic Information - **Project Name**: vips-img-tile - **Description**: vips-img-tile - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-26 - **Last Updated**: 2026-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vips-img-tile 本项目使用 Node.js 结合 `libvips` 库将图片转换为 DZI (Deep Zoom Image) 瓦片图格式。通过将大图切割成多个小图块(瓦片),实现图片的快速加载和平滑缩放浏览。 ## 功能特点 - **高效转换**:利用 `libvips` 强大的图像处理能力,生成高质量的 DZI 瓦片图。 - **DZI 格式支持**:输出标准的 DZI 描述文件(.dzi)和对应的瓦片文件夹。 - **中文支持**:内置拼音转换功能,能够处理中文文件名的图片(自动转换为拼音)。 - **跨平台基础**:依赖预置的 Windows 环境下 `libvips` 开发包。 ## 依赖要求 - **Node.js**: 确保已安装 Node.js 运行环境。 - **libvips**: 项目中已包含 Windows 版的 `vips-dev-8.14`,无需额外安装。 ## 安装与配置 由于项目依赖 Node.js 标准库,无需通过 npm 安装额外的包(除非需要扩展)。只需确保 Node.js 环境可用即可。 1. 确保已安装 [Node.js](https://nodejs.org/) (建议 LTS 版本)。 2. 将项目克隆到本地: ```bash git clone https://gitee.com/Guangloo/vips-img-tile.git ``` 3. 进入项目目录: ```bash cd vips-img-tile ``` ## 使用方法 1. **准备输入图片**:将待转换的图片放入 `input` 目录。默认示例图片为 `input/dtwh.png`。 2. **运行转换脚本**: ```bash node index.js ``` 3. **查看结果**:转换完成后,输出文件位于 `output` 目录。 - `.dzi` 文件:图片描述文件。 - `_files/` 目录:包含所有生成的瓦片图文件(按层级和坐标存储)。 ## 目录结构 ``` vips-img-tile/ ├── index.js # 核心转换逻辑脚本 ├── input/ # 输入图片目录 │ └── dtwh.png # 示例输入图片 ├── output/ # 输出目录 │ ├── dtwh.dzi # 生成的 DZI 描述文件 │ └── dtwh_files/ # 瓦片图文件目录 ├── vips-dev-8.14/ # 预置的 Windows 版 libvips 开发包 │ ├── bin/ # 包含 vips.exe 等可执行文件 │ ├── include/ # 头文件 │ └── lib/ # 库文件 └── package.json # 项目配置文件 ``` ## 代码说明 ### 主要函数 - `imtToJzt(filePath)`: 调用 `vips.exe` 对指定路径的图片进行瓦片化处理。 - `toObj(p3)`: 解析命令行输出,构建对象数据(用于文件名处理)。 - `piny(str)`: 将中文字符串转换为拼音,用于处理中文文件名。 - `readallfile(inputPath)`: 读取输入目录下的所有文件。 - `init()`: 程序入口,递归处理输入目录下的图片。 ## 注意事项 - 脚本默认会递归处理 `input` 目录下的所有图片。 - 转换过程中会生成临时文件,完成后自动清理。 - 生成的瓦片图可用于 OpenSeadragon 等 DZI 图像查看器进行展示。 ## 许可证 本项目遵循开源协议。具体许可证信息请参阅项目根目录下的 LICENSE 文件(如果存在)。引用了 [libvips](https://libvips.github.io/libvips/) (LGPL 协议)。