在 JavaScript 中将 png/jpg 转换为 .ico

2024-01-20

所以我想要一个工具来生成.ico来自 jpg/png 的文件。 我使用以下代码从画布生成了 jpg:

var img    = c.toDataURL("image/png");
document.write('<img src="'+img+'"/>');

取自此画布:

<canvas id="myCanvas" width="16" height="16">

所以问题是;是否可以将生成的png转换为ico?


在 Firefox 中,您可以直接从画布执行此操作:

// Make ICO files (Firefox only)
var ctx = c.getContext("2d");
ctx.arc(c.width>>1, c.height>>1, c.width>>1, 0, 6.28);
ctx.fill();

c.toBlob(function(blob) {
  console.log(blob)
}, 'image/vnd.microsoft.icon', '-moz-parse-options:format=bmp;bpp=32');
<canvas id=c width=32 height=32></canvas>

否则,为了支持其他浏览器,您将必须手动构建 ico 文件。看格式说明 https://en.wikipedia.org/wiki/ICO_(file_format)例如这个答案 https://stackoverflow.com/a/29652507/1693593关于如何做到这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaScript 中将 png/jpg 转换为 .ico 的相关文章

随机推荐