我想对发送到我的node.js服务器的png图片应用透明的圆形蒙版;这样我就可以在较旧的浏览器和电子邮件客户端中显示圆形图片。
我已经在使用节点画布来调整图片大小和裁剪,因此我想知道是否可以通过canvas API来完成这种图片处理。
最佳答案
我设法在这里写了我想要的代码
{Image} =画布=需要“画布”
fs =需要'fs'
img =新图片
img.onload =->
canvas = new Canvas 200, 200
cxt = canvas.getContext '2d'
cxt.drawImage img, sx, sy, sw, sh, dx, dy, dw, dh
cxt.globalCompositeOperation = "destination-atop"
cxt.beginPath()
cxt.arc 100, 100, 50, 0, Math.PI*2, true
cxt.fill()
cxt.closePath()
canvas.toBuffer (err, buf) ->
return cb(err) if err
fs.writeFile "/tmp/dest.jpeg", buf, -> console.log 'test done !'
img.src = '/tmp/src.jpeg'