在更改事件中,我试图将 Canvas 绘制为椭圆形,但我没有获得适当的属性 Canvas 以椭圆形格式绘制此 Canvas 。我在我的代码中设置了以下属性,请参见以下代码。我用 css 尝试了这个并且我得到了完美的输出但是当我尝试将 Canvas 转换为 Canvas 形状不正确的 png 图像时将以图像形式转换,这就是为什么,我希望以这种方式进行。
$("#decalshap").change(function() {
alert("oval");
var shap = $(this).val();
if(shap=="oval")
{
canvas.set({
height:314,
width:500,
borderColor: 'red',
borderRadius: 314.5/157.25,
border:2,
});
}
回答将不胜感激。
最佳答案
为此你必须 clipTo 属性,使用此代码在 Canvas 中绘制椭圆 //脚本
var w;
var h;
var ctx = canvas.getContext('2d');
w=canvas.width / 4;
h=canvas.height / 2.4;
canvas.clipTo = function(ctx) {
ctx.save();
ctx.scale(2, 1.2);
ctx.arc(w, h, 90, 0, 2 * Math.PI, true);
ctx.stroke();
ctx.restore();
//canvas.renderAll();
}
这是 fiddle DEMO
关于javascript - 使用 fabric.js 将 Canvas 形状绘制为椭圆形 lauout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19022365/