javascript - 使用 fabric.js 将 Canvas 形状绘制为椭圆形 lauout

标签 javascript css html canvas fabricjs

在更改事件中,我试图将 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/

相关文章:

jquery - 在 CSS 中提供视网膜特定图像不起作用

javascript - jQuery 突出显示文本无法使用 .css ("background-color")

javascript - jQuery,统计<ul>中动态添加的<li>的数量

javascript - 使用 jQuery .load() 加载的内容不起作用

javascript - 聊天文本自动向下滚动并从数据库加载信息

Javascript 和正则表达式,多个匹配项

php - 如何在我的网站上运行无限循环? (用于提醒/截止日期播音员)

javascript - 不透明度不应用 JavaScript Canvas

html - CSS 悬停抖动问题

javascript - 应用 li :nth-child selector to total li count, 不使用新的 ul 重置