javascript - 在 JavaScript 或 PHP 中修剪 SVG
问题描述
我最近试用了 JS-Library signature_pad,你可以在这里尝试一下,并且对它的效果感到非常惊讶。
现在,当我想将它实施到一个小项目中时,我发现了一个我不喜欢的错误行为:
它始终导出整个 Canvas,而不仅仅是内容。对我来说,我想导出一个签名,所以我在 pad 上签名并只想拥有签名。
现在,如果我将其导出为 PNG/JPG(光栅图形),我确实可以使用 JavaScript 或 PHP(Imagemagick)对其进行修剪,但我希望签名为 SVG。
显然,signature_pad 允许将绘图导出为 SVG,但同样还有所有未使用的空间,包括。
所以我的计划是:
- 将其导出为 SVG
- 在客户端(Javscript)或服务器端(PHP)导出后修剪它
但为此,我需要一种修剪 SVG 的方法。
我将在此线程上附加一个示例 SVG,以确保每个人都能理解我想要修剪的确切内容。
还有一件事:SVG 将以 base64 编码导出,但我希望我能找到一种方法将其导出为文本。
显然我可以在这里附加 PNG,但我也会提供 SVG 的源代码。
开始于<svg viewBox="0 0 664 373" width="664" height="373"
我希望它看起来像这样:
开始于<svg viewBox="70 87.5 367 197" height="197" width="367"
因此,只需更改视图框、宽度和高度就足够了。但我不知道如何确定 SVG 内容所触及的最左、最右、最底、最高点。
有人知道该怎么做吗?
解决方案
推荐阅读
- python - 如何在浮点数上合并数据框?
- c++ - boost::asio::ip::tcp::endpoint 的无序集 - 试图引用已删除的函数
- mysql - 每个订单的价格显示为订单价格
- mysql - mysql重置密码
- c# - 建立一个自我维护的集合,在项目过期时删除它们?
- typescript - 相对 JS 文件导入的 TypeScript 分辨率与导入的 Chrome 分辨率
- excel - 如何对多个搜索和字典求和
- jsf - p:treetable javax.faces.FacesException 的错误消息:treeTable 的值必须为空
- wordpress - 如何将参数发送到另一个页面上的 iframe?
- python - 使用 groupby 作为用户 ID 并组合字符串