Php 具有特定宽度和高度的SVG文本

Php 具有特定宽度和高度的SVG文本,php,vector,svg,Php,Vector,Svg,我试图在SVG中放置和拉伸文本,在本例中,我希望文本具有4厘米的高度,但似乎它周围有一些填充 <svg x="0px" y="0px" width="10cm" height="10cm"> <text x="0cm" y="4cm" font-family="'Arial'" font-size="4cm">Random text</text> </svg> 随机文本 如何删除填充并将文本设置为正好4cm的高度? 如果在SVG中不可能,

我试图在SVG中放置和拉伸文本,在本例中,我希望文本具有4厘米的高度,但似乎它周围有一些填充

<svg x="0px" y="0px" width="10cm" height="10cm">
 <text x="0cm" y="4cm" font-family="'Arial'" font-size="4cm">Random text</text>
</svg>

随机文本

如何删除填充并将文本设置为正好4cm的高度?

如果在SVG中不可能,是否有另一种矢量图形格式可以使用php轻松生成并执行此任务?

关于填充,dx属性控制SVG对象中文本的位置

像这样:

<svg x="0px" y="0px" width="10cm" height="5.5cm" style="background: #ace; fill: #579;">

   <text dx="-0.3cm" x="0cm" y="4cm" font-family="Arial" font-size="4cm">Hello</text>

</svg>

你好

请注意,dx属性设置为-0.3cm,将文本向左移动。

关于填充,dx属性控制SVG对象中文本的位置

像这样:

<svg x="0px" y="0px" width="10cm" height="5.5cm" style="background: #ace; fill: #579;">

   <text dx="-0.3cm" x="0cm" y="4cm" font-family="Arial" font-size="4cm">Hello</text>

</svg>

你好

请注意,dx属性设置为-0.3cm,将文本向左移动。

关于填充,dx属性控制SVG对象中文本的位置

像这样:

<svg x="0px" y="0px" width="10cm" height="5.5cm" style="background: #ace; fill: #579;">

   <text dx="-0.3cm" x="0cm" y="4cm" font-family="Arial" font-size="4cm">Hello</text>

</svg>

你好

请注意,dx属性设置为-0.3cm,将文本向左移动。

关于填充,dx属性控制SVG对象中文本的位置

像这样:

<svg x="0px" y="0px" width="10cm" height="5.5cm" style="background: #ace; fill: #579;">

   <text dx="-0.3cm" x="0cm" y="4cm" font-family="Arial" font-size="4cm">Hello</text>

</svg>

你好

请注意,dx属性设置为-0.3cm,将文本向左移动。

文本填充的高度取决于字体的设计方式。在您的示例中,“H”不会延伸“em”测量的整个高度。将有低于基线的标志符号(如“y”、“g”等)和高于基线的标志符号(如重音符号)

您可以通过选择大于所需垂直大小的字体大小进行补偿。对于特定字体,字体大小与渲染高度的比率应保持不变。因此,一旦你计算出正确的比率,你就可以将它用于任何文本

例如,请看下面的示例

<svg x="0px" y="0px" width="20cm" height="20cm" font-family="Arial">

  <!-- text to fit 4cm high rectangle -->
  <rect x="0" y="1cm" width="100%" height="4cm" fill="red" fill-opacity="0.2"/>
  <text x="0cm" y="5cm" font-family="'Arial'" font-size="4cm">
      <tspan font-size="1.4em">Random text</tspan>
  </text>

</svg>

随机文本
我想让文本填充红色矩形的高度。我首先将字体大小设置为4cm,然后使用
将字体大小调整为1.4em。对于Arial,这是大写字母高度与em大小之间的比率。我只是通过实验找到了这个

现在我知道了这个比例,我可以将它再次用于不同的字体大小:

<svg x="0px" y="0px" width="20cm" height="20cm" font-family="Arial">

  <!-- text to fit 3cm high rectangle -->
  <rect x="0" y="7cm" width="100%" height="3cm" fill="red" fill-opacity="0.2"/>
  <text x="0cm" y="10cm" font-family="'Arial'" font-size="3cm">
      <tspan font-size="1.4em">Random text</tspan>
  </text>

</svg>

随机文本
我已将字体大小更改为3cm,但我可以重复使用1.4的比例,使其适合新的大小


不幸的是,这个技巧只适用于高度,对于特定的字体大小,高度是恒定的。要使一段文本适合特定的宽度,没有简单的方法。除了应用自定义的
变换
,或为每段文本调整
字体大小之外。

文本填充的高度取决于字体的设计方式。在您的示例中,“H”不会延伸“em”测量的整个高度。将有低于基线的标志符号(如“y”、“g”等)和高于基线的标志符号(如重音符号)

您可以通过选择大于所需垂直大小的字体大小进行补偿。对于特定字体,字体大小与渲染高度的比率应保持不变。因此,一旦你计算出正确的比率,你就可以将它用于任何文本

例如,请看下面的示例

<svg x="0px" y="0px" width="20cm" height="20cm" font-family="Arial">

  <!-- text to fit 4cm high rectangle -->
  <rect x="0" y="1cm" width="100%" height="4cm" fill="red" fill-opacity="0.2"/>
  <text x="0cm" y="5cm" font-family="'Arial'" font-size="4cm">
      <tspan font-size="1.4em">Random text</tspan>
  </text>

</svg>

随机文本
我想让文本填充红色矩形的高度。我首先将字体大小设置为4cm,然后使用
将字体大小调整为1.4em。对于Arial,这是大写字母高度与em大小之间的比率。我只是通过实验找到了这个

现在我知道了这个比例,我可以将它再次用于不同的字体大小:

<svg x="0px" y="0px" width="20cm" height="20cm" font-family="Arial">

  <!-- text to fit 3cm high rectangle -->
  <rect x="0" y="7cm" width="100%" height="3cm" fill="red" fill-opacity="0.2"/>
  <text x="0cm" y="10cm" font-family="'Arial'" font-size="3cm">
      <tspan font-size="1.4em">Random text</tspan>
  </text>

</svg>

随机文本
我已将字体大小更改为3cm,但我可以重复使用1.4的比例,使其适合新的大小


不幸的是,这个技巧只适用于高度,对于特定的字体大小,高度是恒定的。要使一段文本适合特定的宽度,没有简单的方法。除了应用自定义的
变换
,或为每段文本调整
字体大小之外。

文本填充的高度取决于字体的设计方式。在您的示例中,“H”不会延伸“em”测量的整个高度。将有低于基线的标志符号(如“y”、“g”等)和高于基线的标志符号(如重音符号)

您可以通过选择大于所需垂直大小的字体大小进行补偿。对于特定字体,字体大小与渲染高度的比率应保持不变。因此,一旦你计算出正确的比率,你就可以将它用于任何文本

例如,请看下面的示例

<svg x="0px" y="0px" width="20cm" height="20cm" font-family="Arial">

  <!-- text to fit 4cm high rectangle -->
  <rect x="0" y="1cm" width="100%" height="4cm" fill="red" fill-opacity="0.2"/>
  <text x="0cm" y="5cm" font-family="'Arial'" font-size="4cm">
      <tspan font-size="1.4em">Random text</tspan>
  </text>

</svg>

随机文本
我想让文本填充红色矩形的高度。我首先将字体大小设置为4cm,然后使用
将字体大小调整为1.4em。对于Arial,这是大写字母高度与em大小之间的比率。我只是通过实验找到了这个

现在我知道了这个比例,我可以将它再次用于不同的字体大小:

<svg x="0px" y="0px" width="20cm" height="20cm" font-family="Arial">

  <!-- text to fit 3cm high rectangle -->
  <rect x="0" y="7cm" width="100%" height="3cm" fill="red" fill-opacity="0.2"/>
  <text x="0cm" y="10cm" font-family="'Arial'" font-size="3cm">
      <tspan font-size="1.4em">Random text</tspan>
  </text>

</svg>

随机文本
我已将字体大小更改为3cm,但我可以重复使用1.4的比例,使其适合新的大小


不幸的是,这个技巧只适用于高度,对于特定的字体大小,高度是恒定的。要使一段文本适合特定的宽度,没有简单的方法。除了应用自定义的
变换
,或为每段文本调整
字体大小之外。

文本填充的高度取决于字体的设计方式。在您的示例中,“H”不会延伸“em”测量的整个高度。将有符号到达