背景是在Fabric.js中的image.clipTo中的黑色

时间:2013-11-12 13:05:04

标签: image-processing svg coffeescript fabricjs

我正在制作一个基于Fabric.js的应用程序,用户可以上传图像并制作海报。最近,我开始使用clip函数来使用用户绘制的路径裁剪图像。

工作原理:用户从画布中选择一张图片,然后点击crop按钮。从画布中选择activeElement,提取其image src。此SRC用于在canvas上的Bootstra Modal上放置图像。用户单击将绘制路径的图像,最后裁剪图像。

单击裁剪按钮后,将从点点生成SVG路径。然后,此值用于裁剪图像。

问题:如果图片是没有背景的PNG(我们只使用PNG),则会使背景为“黑色”。

Image background getting black after clipping

下面,@_path指的是面料。用户单击使用svg路径创建的路径对象。 @_image是图片fabric.Image

clipPath: () ->
    path_x = @_path.getLeft() -  ( @_image.getWidth() / 2 )
    path_y = @_path.getTop()- ( @_image.getHeight() / 2 )
    @_path.setLeft path_x
    @_path.setTop path_y
    # console.log 'Fill white'
    # @_image.setFill('white')

    @_image.clipTo = ( ctx ) =>
      @_path.render( ctx )

    @_image._clipToPath = @getPathSVG() 
    @_canvas.renderAll()
    return

我尝试@_image.setFIll('white')@_image.backgroundColor = 'rgba(255,255,255,1)',但似乎没有效果。

问题

  1. 我是否以正确的方式剪裁/裁剪图像(即:使用clipTo)?为什么你认为
  2. 为什么你认为图像是黑色的,哪里有透明度?
  3. 提前致谢。

0 个答案:

没有答案