Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置SVG文件的大小(通过蜡染)_Svg_Batik - Fatal编程技术网

设置SVG文件的大小(通过蜡染)

设置SVG文件的大小(通过蜡染),svg,batik,Svg,Batik,如果渲染为位图,则位图具有特定数量的像素和DPI。这种组合可以很容易地绘制一个1“x 1”-I的正方形,每边的渲染线长度为DPI像素 当我创建SVG时,我认为它仍然可以这样设置。在这里,我设置了每英寸的单位,以及对象作为一个整体的大小。是的,您可以缩放SVG文件,因为它是所有向量,但它仍应具有100%的缩放大小来渲染 在我的情况下,我的单位使用的是电动车组。因此,914400单位/英寸。所以问题#1是,如何使用蜡染设置缩放。对于位图,它是: AffineTransform scaleToEmus

如果渲染为位图,则位图具有特定数量的像素和DPI。这种组合可以很容易地绘制一个1“x 1”-I的正方形,每边的渲染线长度为DPI像素

当我创建SVG时,我认为它仍然可以这样设置。在这里,我设置了每英寸的单位,以及对象作为一个整体的大小。是的,您可以缩放SVG文件,因为它是所有向量,但它仍应具有100%的缩放大小来渲染

在我的情况下,我的单位使用的是电动车组。因此,914400单位/英寸。所以问题#1是,如何使用蜡染设置缩放。对于位图,它是:

AffineTransform scaleToEmus = AffineTransform.getScaleInstance(dpi / (float) DrawingSurface.EPI, dpi / (float) DrawingSurface.EPI);
graphics.transform(scaleToEmus);
但是SVG没有dpi等价物

然后,对于给定的宽度和高度(以EMU为单位),我是否使用以下方法设置图像的大小(或最大范围):

svgGraphics.setSVGCanvasSize(new Dimension(width, height));
我想我还没有完全理解SVG,或者至少没有完全理解蜡染,因为我不知道如何设置100%缩放的渲染单位