[英]how can I position objects in raphael.js related to center
當我將x,y值設置為對象以將其放置在紙張上時,它從左上角開始測量x,y。 有什么方法可以更改它,使其位置與紙張的中間位置相關嗎?
拉斐爾有矩形,圓形和橢圓形。
因此,回答您的問題:
拉斐爾(Raphael)並未完全提供一種使用中心坐標定位矩形的方法。
但是,您可以自己輕松地做到這一點。
看看這個DEMO 。
例如:
// lets assume your center coordinates are cx and cy
var rec = paper.rect(cx, cy, 120, 80);
// to position in the middle, just do this
var rec = paper.rect(cx - 120/2, cy - 80/2, 120, 80);
它是如此簡單。 祝好運!
編輯
如果這是您要在項目中執行的操作,則只需Raphael.js並覆蓋矩形類。
Raphael不支持g元素。 因此,您可以運行循環並添加屬性transform =“ translate(* half_of_canvas_width *,* half_of_canvas_height *)”,如下所示:
var paper = new Raphael("canvas");
var cx = 250;
var cy = 250;
var rec = paper.rect(0, 0, 250, 250).attr({fill:'red'})
var list = document.getElementById("canvas").childNodes[0].childNodes;
for(var i = 2 /*because the first two elements are desc tag*/, l = list.length; i < l; i++){
list[i].setAttribute("transform", "translate(250,250)");
}
演示:
祝好運 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.