如何裁剪帆布边?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何裁剪帆布边?相关的知识,希望对你有一定的参考价值。

大家好,我最近在一个项目上工作,我正在使用html5,CSS3和javascript

我有一个<canvas>元素,我正在提供网络摄像头捕获的<image>。

var myCanvas, videoElement, frame;

我正在使用p5Js库使用以下代码每帧提供图像:

function setup()
    myCanvas = createCanvas(w,h);
    //...(setId(), setParent(),)
    videoElement = createCapture(VIDEO);
    //...(setParent(), setId(), setSize())
}
function draw(){

   frame = image(videoElement, 0, 0, canvasWidth,  canvasHeight);    
}

我的问题是如何裁剪画布的两侧,如下图1所示:

Figure 1

请注意,我不想裁剪图像,因为如果我在画布上进行裁剪,也会在图像中实现裁剪。

现在我使用下面的CSS,但这不是我正在寻找的:

document.getElementById("editingCanvas-element").style.border = "1px solid black";
document.getElementById("editingCanvas-element").style.borderRadius = "100px 100px";

任何帮助都是有益的,谢谢。

答案

首先,您需要一个较小的canvas元素,因此您需要在设置中定义它。假设你知道要裁剪多少,画布的宽度应该是w - 2*crop

然后在绘制视频时:frame = image(videoElement, -crop, 0, canvasWidth, canvasHeight);我希望这是你需要的。

function setup()
    myCanvas = createCanvas(w - 2*crop,h);
    //...(setId(), setParent(),)
    videoElement = createCapture(VIDEO);
    //...(setParent(), setId(), setSize())
}
function draw(){

   frame = image(videoElement, -crop, 0, canvasWidth,  canvasHeight);    
}

以上是关于如何裁剪帆布边?的主要内容,如果未能解决你的问题,请参考以下文章

帆布迷宫游戏流畅的动画

裁剪图像包含在 4 边(非矩形)多边形中

裁剪带有顶部和底部边距的图像

如何缓慢移动帆布车速表指针?

在片段中裁剪图像

视频二次裁剪时间计算出原片的时间片段算法