SetViewBox移动纸张

时间:2012-02-08 05:04:37

标签: raphael

我在Raphael 2中使用setViewBox()函数。宽度和高度乘以类似(1.2,1.3 ......)的值。这会正确地改变放大/缩放,但是我给出的x和y为0,0会使纸张在偏移后显示其内容。如果我在渲染后将x和y修改为某个正值(使用firebug !!),那么纸张的左上方会向后移动到正确的位置。我想知道如何计算价值。我不知道x,y如何影响视图框。如果有人能给我任何指示,那将是一个真正的帮助。

我试过给出宽度/高度除以2之间的差异。另外我必须提到我不是渲染图像而是各种raphael形状,例如在我的论文中,rects,paths text等。

期待一些帮助! 卡维塔

2 个答案:

答案 0 :(得分:1)

这是一个显示如何计算setViewBox值的示例,我包含了jquery(获取我的SVG cocntainer X和Y:$(“#”+ map_name).offset()。left和$(“#”+ map_name ).offset()。top)然后我计算了我需要多少缩放:

var original_width = 777;
var original_height = 667;
var zoom_width = map_width*100/original_width/100;
var zoom_height = map_height*100/original_height/100;
if(zoom_width<=zoom_height)
   zoom = zoom_width;
else
   zoom = zoom_height;
rsr.setViewBox($("#"+map_name).offset().left, $("#"+map_name).offset().top, (map_width/zoom), (map_height/zoom));

答案 1 :(得分:0)

你是否将缩放的中心设置为0,0,如:

element.scale(1.2,1.2,0,0);

这可以在不移动左上角坐标的情况下缩放元素。