基于png2icojs开发的png2ico转换器

由于鄙人经常开发各类网站,需要经常用到ico图标,故鄙人基于github开源项目开发了一个png2ico转换器,需要png转ico的同学可以参考之。

预览地址

https://png2ico.cn

简介

png2icojs是一个简单便捷的javascript es6类库,运用它可以将png转换为ico ICO file. 它可以运行在各类主流浏览器上面

关键代码如下: ``` import { PngIcoConverter } from "../src/png2icojs.js";

// ...

const inputs = [...files].map(file => ({ png: file }));

// Result is a Blob const resultBlob1 = await converter.convertToBlobAsync(inputs); // Default mime type is image/x-icon const resultBlob2 = await converter.convertToBlobAsync(inputs, "image/your-own-mime");

// Result is an Uint8Array const resultArr = await converter.convertAsync(inputs); ```

API公开了具有许多受保护函数的PngIcoConverter类,因此您可以根据需要覆盖它们。

方法

PngIcoConverter公开了以下方法: async convertToBlobSync(输入:IConvertInputItem[],mime=IcoMime):Promise<Blob>; 将PNG文件转换为具有可选mime类型的ICO Blob。默认值:图像/x-icon。 async convertAsync(inputs:IConvertInputItem[]):Promise<Uint8Array>; 将PNG文件转换为Uint8Array。

输入选项

IConverInputItem具有以下属性: png:png文件。可以是Blob或ArrayBuffer。 bpp(可选,默认为0):每像素位数。用于ICO图像的标题。在我的实验中,大多数应用程序只是完全忽略这个值,并使用PNG图像中的值。 ignoreSize(可选,默认为false):由于ICO的大小字节只有1个字节,图标的最大大小为256px。然而,我已经尝试制作一个512px的图标,到目前为止它是有效的。如果您的图像大小超过256px,库仍然会抛出错误。将此设置为true可忽略它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值