cnzhuanyong 2023-02-23 04:21 采纳率: 38.9%
浏览 35
已结题

有没有什么比svgo更完善的处理库?能把下面问题全解决的?

1)优化 svg (目前阶段)

用 svg-fixer,先 strock to fill ,然后再用 svgo。
因为若图标中的 stock 端点是圆角,若不先用 svg-fixer 进行“strock to fill” 处理,就扔到 svgo 的话,就会变平。
如果可以我希望用“strock to path”,而不是“strock to fill”。

3)尺寸修正(没找到)

很多网站提供不同尺寸的svg(相当多16或32),我想统一把 icon 修成 24px*24px。

4)安全区修正(没找到)

icon 中 image 大小超出安全区的部分,自动缩放到安全区内(我手动修改发现,是对 image 大小的 width 和 height 设置为 20px*20px)。

不超出安全区的 icon 不处理。因为网上下载的不同设计师的图标安全区不一致,有的甚至直接贴在 icon 边缘。

我在 inkscape 里研究发现:

image 大小,就是不包括 icon 周围的安全区的实体内容大小,例如 24px*24px,左右两边各 2px 安全区,image大小就是20px*20px。
document 大小,就是 width 和 height,所以为24px*24px。
viewbox 大小,就是相对于 document 的缩放。图片查看器仍然写是 24px*24px 大小,但是内容被缩放了 3.33 倍。

img

img

  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-02-23 08:32
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    对于 SVG 优化,除了 SVGO 和 SVG Fixer 以外,还有其他一些工具可以尝试,例如:

    1. SVGOMG: 一个基于 Web 的 SVG 优化器,使用多种优化算法进行 SVG 优化。
    2. Scour: 一个 Python 工具,用于优化 SVG 文件,并支持从命令行或作为库使用。
    3. SVG Cleaner: 一个基于 Web 的工具,可将 SVG 文件转换为带有最小可能代码的有效 SVG。

    对于尺寸修正和安全区修正,可能需要编写一些脚本或程序来完成。可以使用像 Inkscape 这样的 SVG 编辑器来手动调整 SVG 文件,但是这种方法适用于较小的 SVG 文件,并且可能需要较长时间。

    一个更快速的解决方案是使用 SVG 编辑库,例如 Snap.svg 或 SVG.js,它们允许您以编程方式修改 SVG 文件。对于尺寸修正,您可以使用这些库在 SVG 文件中搜索图形元素,并更改其大小属性。对于安全区修正,您可以计算每个图形元素的大小并缩放它们以适应安全区域。

    这些库都有文档和示例代码,可以帮助您了解如何使用它们来操作 SVG 文件。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月10日
  • 创建了问题 2月23日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题