我想应用透明圆圈掩码将png图片发送到我的node.js服务器;这样我就可以在旧浏览器和电子邮件客户端中显示圆形图片。
我已经在使用node-canvas来调整大小和裁剪图片,所以我想知道是否可以通过canvas api完成这种图片处理。
答案 0 :(得分:1)
我设法编写了我想要的代码
{Image} = Canvas = require'canvas' fs = require'fs'
img = new Image 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'