Eug*_*Zol 5 ruby ruby-on-rails prawn
Prawn有height_of_formatted方法来确定格式化文本的高度,因此当需要将其中间垂直对齐到某个锚点时,可以计算其左上角坐标.
但是没有width_of_formatted办法.
我正在绘制图形,我需要将文本(点标签)置于某个点(点本身)的正中方.所以我知道文本的中间部分有点的x坐标.
如何获得文本开头的x坐标(所以我可以提供它draw_text和其他渲染方法)?
如果您使用bounding_box而不是draw_text可以指定文本边框的宽度。然后,如果您将文本居中对齐,您应该能够指定中间的确切 x 坐标。(它是盒子的 x 位置加上宽度的一半)
假设您在 x 坐标 72 处有一个点,并且想要添加标签“hello world!” 所以单词的中心是相同的 x 坐标。您不知道“hello”这个词有多宽,但您确定它可以放入宽度为 500 的盒子中。
72 - (500/2) = -178
bounding_box([-178, 100], :width => 500) do
text "hello world!", align => :center
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
366 次 |
| 最近记录: |