2016-03-24 165 views

回答

0

是使用CSS梯度是可能的。我用这些颜色为背景创建了一个Fiddle

canvas { 
    background: rgba(163,125,68,1); 
    background: -moz-linear-gradient(top, rgba(163,125,68,1) 0%, rgba(158,115,51,1) 50%, rgba(158,17,17,1) 51%, rgba(153,29,29,1) 100%); 
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(163,125,68,1)), color-stop(50%, rgba(158,115,51,1)), color-stop(51%, rgba(158,17,17,1)), color-stop(100%, rgba(153,29,29,1))); 
    background: -webkit-linear-gradient(top, rgba(163,125,68,1) 0%, rgba(158,115,51,1) 50%, rgba(158,17,17,1) 51%, rgba(153,29,29,1) 100%); 
    background: -o-linear-gradient(top, rgba(163,125,68,1) 0%, rgba(158,115,51,1) 50%, rgba(158,17,17,1) 51%, rgba(153,29,29,1) 100%); 
    background: -ms-linear-gradient(top, rgba(163,125,68,1) 0%, rgba(158,115,51,1) 50%, rgba(158,17,17,1) 51%, rgba(153,29,29,1) 100%); 
    background: linear-gradient(to bottom, rgba(163,125,68,1) 0%, rgba(158,115,51,1) 50%, rgba(158,17,17,1) 51%, rgba(153,29,29,1) 100%); 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a37d44', endColorstr='#991d1d', GradientType=0); 
} 

梯度css从cssmatic生成。

希望它有帮助。

+0

它坏解决方案因为我需要使用颜色选择器更改背景颜色 –

+0

它不是一个不好的解决方案。这是一个糟糕的问题。你应该在问题中提到,无论哪种方式,都可以通过colorPicker中的javascript更改CSS。但对于不同的颜色背景,这个渐变的CSS是最好的解决方案。 –

+0

使用样式设置背景颜色将不允许您将内容导出到其他图像到svg,既不使用json序列化它。 – AndreaBogazzi

0

你可以不能够使用多个背景画布,但我们动态创建的背景和应用颜色面料的js允许应用渐变的对象这样的..

var canvas = new fabric.Canvas("c"); 
 

 
var bgrect = new fabric.Rect({ 
 
    left: 0, 
 
    top: 0, 
 
    width: canvas.getWidth(), 
 
    height: canvas.getHeight(), 
 
    selectable:false 
 
}); 
 

 

 
bgrect.setGradient('fill', { 
 
    x1: 0, 
 
    y1: 0, 
 
    x2: 0, 
 
    y2: bgrect.height, 
 
    colorStops: { 
 
    0: "rgba(163,125,68,1)", 
 
    0.5:"rgba(163,125,68,1)", 
 
    0.51:"rgba(153,29,29,1)", 
 
    1: "rgba(153,29,29,1)" 
 
    } 
 
}); 
 

 
canvas.add(bgrect) 
 
bgrect.sendToBack();
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script> 
 
<canvas id="c"></canvas>

+0

现在你让我想起它作为渐变应该被添加到fabricjs的背景功能。 – AndreaBogazzi

+0

是的,这也可能是一个很好的功能.. :-) –