svg - 在没有inkscape的情况下缩放svg内容以适应页面大小(反之亦然)
问题描述
我想缩放 SVG 图像以适应页面大小(反之亦然:裁剪页面以适应内容)。这可以使用这里描述的 inkscape 来完成。但是,如果没有 gui,似乎没有办法做到这一点。通过命令行使用动作和动词总是需要 GUI。有没有另一种存档方式?
解决方案
你的问题不是很清楚你想具体问什么,如果你愿意,我正在回答
缩放 Svg 以适应 HTML 文档中的页面大小
如果您将 SVG 的 viewBox 属性更改为与图像的高度和宽度比不同的比例,那么 SVG 将不适合页面,因为默认情况下,有一个<svg>
名为标签的属性默认PreserveAspactRatio
设置为meet
。您必须将此属性更改为剪辑,以便 SVG 填充整个视口。
如果您定义的纵横比与 SVG 的高宽比不同,图像会变形,但它仍会填满页面。
只需在标签中添加此代码即可。
preserveAspectRatio = "xMinYMin slice"
切片之前可以有不同的参数,即
none
不要强制统一缩放。如有必要,非均匀地缩放给定元素的图形内容(不保留纵横比),以使元素的边界框与视口矩形完全匹配。
xMinYMin
强制统一缩放。将元素的 viewBox 与视口的最小 X 值对齐。将元素的 viewBox 与视口的最小 Y 值对齐。
xMinYMid
强制统一缩放。将元素的 viewBox 与视口的最小 X 值对齐。将元素 viewBox 的中点 Y 值与视口的中点 Y 值对齐。
xMaxYMax
强制统一缩放。将元素 viewBox 的 + 与视口的最大 X 值对齐。将元素 viewBox 的 + 与视口的最大 Y 值对齐。ETC..
有关更多详细信息,如果您的问题与 Web 相关,您可以参考这篇文章。
推荐阅读
- html - 响应式 flexbox,每行 3 个项目,然后是 2,然后是 1
- python - 对列表中的连续元素对求和
- angular - 如何在Angular 6中的单个项目下的多个应用程序之间导航
- r - 读取 CSV 文件以符合唯一标记
- windows - Eclipse C++ 在定义字符串变量后终止
- angular - 如何在角度 6 中推送具有两个参数的对象?
- swift - WKNavigationResponse 不再通过其 response.header 提供对 cookie 的访问
- javascript - Python 使用两个参数运行 JavaScript 函数
- java - 依赖注入和静态方法
- react-native - 使用 expo 发布 React Native 应用程序