Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 如何根据矩形宽度计算文本之间的间距?_Lua_Directx_Draw - Fatal编程技术网

Lua 如何根据矩形宽度计算文本之间的间距?

Lua 如何根据矩形宽度计算文本之间的间距?,lua,directx,draw,Lua,Directx,Draw,我想问你,如何计算文本位置,更像是文本之间的空格 我得到了一个包含文本text1,text2,text3,text4的数组。。。我可以调用一个函数来获得文本的长度(以像素为单位),我也知道矩形的长度,我想计算每个文本之间的间距,以完全填充矩形,并且只保留两边10px 获取文本长度的函数是dxGetTextWidth,矩形宽度在名为rWidth的变量中指定 如何计算它?文本对齐算法可以满足您的要求。 以下是一个基于您的问题的示例: local output_width = 0 local lin

我想问你,如何计算文本位置,更像是文本之间的空格

我得到了一个包含文本text1,text2,text3,text4的数组。。。我可以调用一个函数来获得文本的长度(以像素为单位),我也知道矩形的长度,我想计算每个文本之间的间距,以完全填充矩形,并且只保留两边10px

获取文本长度的函数是dxGetTextWidth,矩形宽度在名为rWidth的变量中指定


如何计算它?

文本对齐算法可以满足您的要求。

以下是一个基于您的问题的示例:

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