我在Raphael 2中使用setViewBox()函数。宽度和高度乘以类似(1.2,1.3 ......)的值。这会正确地改变放大/缩放,但是我给出的x和y为0,0会使纸张在偏移后显示其内容。如果我在渲染后将x和y修改为某个正值(使用firebug !!),那么纸张的左上方会向后移动到正确的位置。我想知道如何计算价值。我不知道x,y如何影响视图框。如果有人能给我任何指示,那将是一个真正的帮助。
我试过给出宽度/高度除以2之间的差异。另外我必须提到我不是渲染图像而是各种raphael形状,例如在我的论文中,rects,paths text等。
期待一些帮助! 卡维塔
答案 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);
这可以在不移动左上角坐标的情况下缩放元素。