svg - 使用librsvg根据文本大小创建仅包含文本、宽度和高度的SVG?
问题描述
我正在尝试使用一个文本元素创建一个 svg。svg 的大小应该完全由文本的字体大小决定,并且应该完全适合文本。我最接近我正在寻找的东西是:
txt_img = Vips::Image.svgload_buffer %(
<svg height="#{font_size}*2">
<g>
<text
font-family="some value"
font-size="#{font_size}"
font-weight="some value"
fill="some value"
fill-opacity="some value"
stroke="some value"
stroke-width="some value"
dominant-baseline="hanging"
text-anchor="start"
x="0"
y="#{font_size}"
>
#{txt}
</text>
</g>
</svg>
)
但是,正如您在所附图像中看到的那样,文本的底部被截断,尤其是悬挂在基线下方的字母。如何调整 svg 的大小以完全适合文本?由于这不是在浏览器环境中呈现的,因此解决方案不得涉及 css。
另请注意,输出是使用 Vips 呈现的,它不提供 svg 保护程序选项,这就是输出为 png 格式的原因。
[!][文本呈现为 png][1]][1] [1]: https://i.stack.imgur.com/Bx7gJ.png
解决方案
推荐阅读
- visual-studio-code - 在 VS Code tasks.json 中按扩展名复制文件
- assembly - IF ELSE 语句操作数
- c# - 自定义 WindowChrome [ Wpf Core 3.1; MvvmCross 7.0.0]
- swift - 仅从 cgpoint 开始在一个方向上画线
- c++ - 输入数据文件 输出数据文件 问题
- javascript - 如何使用 v-for 有条件地呈现选项和 optgroup?
- kubernetes - 通过 Kubernetes 中的 YML 将 locust 文件复制到卷中
- java - elasticsearch-logstash:父子映射
- typescript - knexjs 在插入后和选择查询时返回关系列
- list - DataTable中的Flutter DropdownButton,列表中的DropdownButton选项