添加并保存圆形遮罩框图像

时间:2012-03-12 09:38:56

标签: image node.js canvas

我想应用透明圆圈掩码将png图片发送到我的node.js服务器;这样我就可以在旧浏览器和电子邮件客户端中显示圆形图片。

我已经在使用node-canvas来调整大小和裁剪图片,所以我想知道是否可以通过canvas api完成这种图片处理。

1 个答案:

答案 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'