gpt4 book ai didi

text - 如何在 SVG 1.1 中正确显示多行文本?

转载 作者:行者123 更新时间:2023-12-04 22:25:13 25 4
gpt4 key购买 nike

我想采用多行文本块并将其显示在 SVG 中。我想将线条保留为线条。有没有合适的方法来做到这一点?

我使用 Inkscape 作为我的基础绘图,使用 Batik 进行渲染。两人似乎对如何做到这一点意见不一。

Inkscape 正在创建这样的结构:

<flowRoot
xml:space="preserve"
id="flowRoot3089"
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
transform="translate(19.71875,334.88681)">
<flowRegion id="flowRegion3091">
<rect id="rect3093" width="50.78125" height="75" x="34.765625" y="155.89932"/>
</flowRegion>

<flowPara id="flowPara3123">Item 1</flowPara>
<flowPara id="flowPara3137">Item 2</flowPara>
<flowPara id="flowPara3139">Item 3</flowPara>
</flowRoot>

然而,出于某种原因,这对蜡染来说是 Not Acceptable 。

最佳答案

Inkscape 将文档的 SVG 版本设置为 1.1 而不是 1.2,但仍使用流动文本。

对您而言,简单的解决方案是编辑您的 svg 文档并将 SVG 版本属性更改为 1.2。 Inkscape 不会将其改回 1.1,并且可以很好地处理 1.2 版本说明符。

Batik 将很乐意提供大多数功能,但是如果您弄乱了 Inkscape 创建的流根中的几乎任何文本属性,您也会遇到另一个 Inkscape 错误。它将背景颜色设置为文本的选定前景色,这意味着如果你在 Inkscape 中将文本颜色设置为红色,当蜡染渲染它时,你会看到一个红色方块......文本在那里,但它是红色的也是,所以不是很明显。这是一个 Inkscape 错误,在 flowRegion -> rect 元素的代码中清晰可见。

解决方案是在使用inkscape 调整它们后手动编辑flowRect 属性。

如果您使用标准 svg 输出而不是inkscape svg 输出,蜡染似乎也做得更好。

关于text - 如何在 SVG 1.1 中正确显示多行文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3924646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com