我有一个100x100像素的svg文件(例如)。 我正在使用Batik。
如果我这样做:
JSVGCanvas svg = new JSVGCanvas();
[...]
svg.setSize(10,10);
它只会显示图片的这一部分,而不会显示已调整大小的图像。
你知道如何显示调整大小的svg图片吗?
谢谢;)
答案 0 :(得分:6)
您需要确保您显示的文档在其根viewBox=""
元素上设置了<svg>
属性。例如,指定viewBox="100 100 300 200"
表示区域(100,100)→(400,300)将缩放为JSVGCanvas
的大小。默认情况下,缩放时将保留此区域的宽高比,因此如果它与JSVGCanvas
的宽高比不匹配,则会在顶部或底部获得一些额外的填充。要覆盖该行为,请使用preserveAspectRatio=""
属性。
答案 1 :(得分:0)
视图框参数允许您设置要查看/显示的画布部分。
如果你想“调整大小”你的svg(svg没有真正的大小,因为它是矢量图像),你可以添加/更改参数宽度和高度目前在<svg>
标题中,如下所示:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="text/ecmascript" zoomAndPan="magnify" width="1200" height="720" contentStyleType="tex ....</svg>
如果要更改视图框,可以添加参数
viewBox="0 0 1200.0 720.0"
<svg>
标题中的(对于1200 x 720的高清视图)。