我想问你,如何计算文本位置,更像是文本之间的空格。
我有一个包含文本text1,text2,text3,text4 ...的数组。我可以调用一个函数来获取以像素为单位的文本长度,我也知道矩形的长度,我想计算每个文本之间的空格完全填充了矩形,并且两边仅保持10px。
获取文本长度的函数是dxGetTextWidth,并且在名为rWidth的变量中指定了矩形宽度。
如何计算?
答案 0 :(得分:0)
文本对齐算法可以满足您的需求。 https://www.rose-hulman.edu/class/csse/csse221/200910/Projects/Markov/justification.html
以下是基于您的问题的示例:
local output_width = 0
local line_width = box.rWidth() - 20 --10px from each side
local line = {}
for text in ipairs(texts) do
text_width = text.dxGetTextWidth()
if (output_width + text_width <= line_width) then
output_width = output_width + text_width
line[#line + 1] = text
else
remaining_space = line_width - output_width
space_width = remaining_space / #line --space evenly spread over words in the line
for text in ipairs(line) do
--now add the space between each word
end
end
end