首页 > 解决方案 > Fabricjs用白色裁剪/替换部分背景图像

问题描述

我需要将图像加载为画布,将其切成两半,然后用白色背景颜色替换剪切部分。

4种可能

*(黄色=剩余图像,白色=白色背景)

在此处输入图像描述

前两种可能性:图像被垂直切割,我们保留图像的左侧部分 右侧部分(在上图中切换白色和黄色)。另一部分变成白色背景。

在此处输入图像描述

其他两种可能性:图像被水平切割,我们保留图像的顶部或底部 上图中切换白色和黄色)。另一部分变成白色背景。


我试过的:

fabric.Image.fromURL(imageUrl, img => {
    this.canvas.setBackgroundImage(img, this.canvas.renderAll.bind(this.canvas), {
        left: img.getScaledWidth()/2,
        originX: 'left'
    });

    this.canvas.setWidth(img.getScaledWidth());
    this.canvas.setHeight(img.getScaledHeight());
    this.canvas.renderAll();
}, { crossOrigin: 'Anonymous' });

两个问题:


是否有可能使用 Fabricjs 实现这一目标?否则我该怎么办?

标签: javascriptangularimagecanvasfabricjs

解决方案


我认为您可以为此使用一组画布元素。我创建了一个示例,您可以在此处查看

https://codesandbox.io/s/mystifying-curran-bkwtk?file=/src/index.js


推荐阅读