基于png2icojs开发的png2ico转换器

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

预览地址

png2ico入口

简介

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可忽略它。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值