java - 在java中调整svg图像的大小

标签 java svg resize

我面临一个小但烦人的问题。我有一个 svg 图像,比如“test.svg”。我用一个特殊的 Swing 组件(如果您感兴趣,可以使用 SVGSalamander 的 SVGPanel,但这并不重要)来显示它。所以,我完美地显示了我的“test.svg”,我还可以根据需要调整它的大小。现在,我的问题是,当我调整 swing 组件的大小时,我想修改“test.svg”的大小

我的第一个意图是修改 <svg> 的宽度和高度属性元素,但当然它不能按预期工作,因为对象的坐标变得错误。

例如,如果 svg 面板中间有一条水平线:

    //Should be sth like that
    <svg ... height='20' width='20'><line x1="0" x2="20" y1="10" y2="10" /></svg>

如果我尝试通过仅更改大小来调整它的大小,我会得到:

    //using my "naive" resize method
    <svg ... height='10' width='10'><line x1="0" x2="20" y1="10" y2="10" /></svg>

并且该线不再位于面板中间。相反,它现在位于底部。

所有这些可能都是非常明显的。抱歉,如果是这样的话。

那么,简而言之,我怎样才能得到预期的结果:

    <svg ... height='10' width='10'><line x1="0" x2="10" y1="5" y2="5" /></svg>

非常感谢您的帮助!

最佳答案

将 viewBox 属性放在 <svg> 上元素例如viewBox="0 0 20 20" 。现在您可以更改宽度/高度而不影响内容。

关于java - 在java中调整svg图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26216739/

相关文章:

旋转后 IOS 调整 UI 大小(在 IOS 中可以填充父级)

svg - 如何在SVG路径中设置每条线的颜色或宽度

java - 需要打印没有 "Brackets"的 ArrayList

java - 比较图中的字符串

在浏览器中显示 Java 源代码?

javascript - 使用 JavaScript 创建 SVG 组返回 falsechildren.length

css - 图片下方的 SVG 背景

html - slider 裁剪图像而不是调整图像大小

iphone - UIView 内容剪辑不起作用/UIView 调整大小不起作用

java - 不同日期加天数