Raphael.js 如何获取画布中心点位置和相对于中心的缩放比例?

6
我已经如下定义了我的raphael画布:
var paper = Raphael("my-paper", '100%', '100%');

//render some shapes on my paper
var e = paper.ellipse(50, 50, 40, 20);
var c = paper.circle(50, 50, 40);
var r = paper.rect(40, 40, 50, 50, 10);

如您所见,我定义了我的Raphael画布,然后在画布上画了一些形状。我有以下两个问题要问:

1. 如何获取我的画布的中心点x和y值。(x:水平位置,y:垂直位置)

2. 我想将画布上的所有内容放大两倍,我知道可以使用Raphel的缩放函数。我想将画布上的所有元素相对于画布中心点进行缩放,因此,我需要做以下操作:

e.scale(2, 2, CENTER_X, CENTER_Y)

(CENTER_XCENTER_Y问题1中已经被要求输入)

我希望结果看起来像是放大,我现在的使用方式正确吗?还有其他方法可以实现吗?


你还在寻找这个答案吗?我可以给你提供一个可行的例子。 - ffleandro
2个回答

8

paper.width和paper.height应该返回纸张的尺寸,这将帮助您找到中心点。


Raphael.fn.paperCenter = function() { return { x: this.width/2, y: this.height/2 }; }; - Ecropolis

0
你可以像这样找到纸张的中心
var x = this.paper.canvas.offsetLeft;
var y = this.paper.canvas.offsetTop;

var centerX = x + paper.width/2 ;
var centerY=  y + paper.height/2;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接