1
進出口新的拉斐爾庫(看起來不錯,到目前爲止BTW)創建水平線性漸變與拉斐爾
我想知道如何創建水平線性漸變。
這裏是我的測試代碼,到目前爲止,大多是從實例基於我一直在尋找: -
$(function() {
var paper = Raphael(0, 0, $(window).width(), $(window).height());
var path = paper.path("M800,100 L800,600 Q801,610 802,600 T803,600 L803,100 Q802,110 801,100 T800,100").attr({
"fill": "90-#f00:5-#00f:100",
"fill-opacity": 0.5
});
var pathArray = path.attr("path");
handle = paper.circle(pathArray[0][1], 350, 5).attr({
fill: "black",
cursor: "pointer",
"stroke-width": 1,
stroke: "transparent"
});
var start = function() {
this.cx = this.attr("cx"),
this.cy = this.attr("cy");
},
move = function (dx, dy) {
var X = this.cx + dx, Y = this.cy + dy;
this.attr({ cx: X, cy: Y });
pathArray[0][1] = pathArray[1][1] = pathArray[6][1] = X;
path.attr({ path: pathArray });
},
up = function() {
this.dx = this.dy = 0;
};
handle.drag(move, start, up);
});
我從SVG規範看到W3的網站有一個X1,X2,Y1,Y2屬性在實際linearGradient標籤(雖然我甚至不知道他們是否處理方向?http://www.w3.org/TR/SVG/pservers.html#LinearGradientElement)。
我只是沒有使用拉斐爾足以知道如何設置我的路徑屬性。
乾杯, wacka。
P.S. 編輯:添加下面的幫助,但只有在IE瀏覽器的工作原理: -
$("linearGradient").attr("x1", "0");
$("linearGradient").attr("x2", "100%");
$("linearGradient").attr("y1", "0");
$("linearGradient").attr("y2", "0");
ANOTHER編輯:有趣的是,以上只能在IE工作,但在下面兩個作品(即使HTML是一樣的): -
$("defs").children().attr("x1", "0");
$("defs").children().attr("x2", "100%");
$("defs").children().attr("y1", "0");
$("defs").children().attr("y2", "0");
出於某種原因,以下是1在IE和0鉻: -
$("lineargradient").length
現在,雖然這個工作,肯定必須有一個更好的方式?
啊......這麼簡單......我假設下一個數字是沿路徑的百分比? – Wacka 2012-04-26 15:13:22
我會教一個人釣魚...檢查出http://raphaeljs.com/reference.html#Element.attr,特別是漸變。它在那裏很簡潔。 – amadan 2012-04-26 16:03:54
我確實看到了,但看不到如何轉動漸變...我的下一個問題是試圖基本上使用拉斐爾(http://www.20thingsilearned.com/en-GB):P – Wacka 2012-04-26 17:02:54