我正在使用拉斐尔2中的setViewBox()函数。宽度和高度乘以一个类似于(1.2,1.3 ...)的值。这会适当地改变放大/缩放,但我给出的x和y是0,0,使纸张在经过一定的偏移后显示其内容。如果我在渲染后将x和y修改为某个正值(使用firebug!)然后,纸张的左上角向后和上方移动到右侧位置。我想知道价值是如何计算出来的。我不知道x,y是如何影响viewbox的。如果有人能在这方面给我任何建议,这将是一个真正的帮助。
我试着给出宽度/高度除以2的差值。另外,我必须指出的是,我在论文中渲染的不是图像,而是各种拉斐尔形状,例如矩形、路径和文本等。
期待您的帮助!卡维塔
发布于 2013-05-27 22:18:01
这是一个展示如何计算setViewBox值的示例,我包含了jQuery值(以获得我的showing和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));
发布于 2012-02-27 18:28:59
您是否将缩放的中心设置为0,0,如:
element.scale(1.2,1.2,0,0);
这可以在不移动左上角坐标的情况下缩放元素。
https://stackoverflow.com/questions/9188086
复制相似问题