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

时间:2018-01-17 15:36:43

标签: javascript html canvas ico

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

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

从这个画布获取:

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

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

1 个答案:

答案 0 :(得分:1)

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

// 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文件。请参阅format description,例如this answer,了解如何做到这一点。