首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单击按钮时使用fabricjs为形状赋予渐变

问在单击按钮时使用fabricjs为形状赋予渐变
EN

Stack Overflow用户
提问于 2013-09-20 18:02:29
回答 1查看 779关注 0票数 0

我想给fabric.js中的形状渐变样式,我想写所有形状的通用添加渐变方法,选择对象,并在提交按钮上点击它应该改变填充为渐变。

小提琴::http://jsfiddle.net/jdFet/1/

请检查上面的小提琴,

代码::

代码语言:javascript
复制
 var canvas;

$(function () {
    canvas = window.__canvas = new fabric.Canvas('canvas');
    canvas.backgroundColor = '#FFFFFF';
    var circle = new fabric.Circle({
        left: 100,
        top: 100,
        radius: 100
    });

    circle.setGradient('fill', 
                       { type:'linear',
                        x1: 0, 
                        y1: 0, 
                        x2: 0, 
                        y2: circle.height,
                        colorStops: { 0 : 'rgba(0,255,0,1)', 1 : 'rgba(0,0,255,1)'} });
    canvas.add(circle);
    console.log('Gradient', circle.fill);
});
EN

回答 1

Stack Overflow用户

发布于 2013-09-21 14:47:45

从你的jsfiddle中,我得到了这个-- http://jsfiddle.net/hellomaya/jdFet/6/选择所有形状,然后改变它们的渐变。

代码语言:javascript
复制
if (!obj) {
        obj = canvas.getActiveGroup();
        if (!obj) {
            return;
        }
        console.log (obj._objects);

        var objects = obj.getObjects();
        for (i in objects) {
            objects[i].setGradient('fill', {
                type: 'linear',
                x1: 0,
                y1: 0,
                x2: 0,
                y2: objects[i].height,
                colorStops: {
                    0: 'black',
                    1: 'red'
                }
            });
        }
        canvas.renderAll();
        return;
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18914010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档