如何调整svg(使用蜡染)并显示它?

时间:2010-04-27 19:35:02

标签: java resize svg batik

我有一个100x100像素的svg文件(例如)。 我正在使用Batik。

如果我这样做:

JSVGCanvas svg = new JSVGCanvas();
[...]
svg.setSize(10,10);

它只会显示图片的这一部分,而不会显示已调整大小的图像。

你知道如何显示调整大小的svg图片吗?

谢谢;)

2 个答案:

答案 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的高清视图)。