Pular para o conteúdo

dxGetTextSize

Cliente Desenho na tela

Mede largura e altura de um bloco de texto, com quebra de linha opcional.

number, number dxGetTextSize ( string texto [, number largura = 0, number escalaX = 1, number escalaY = escalaX, mixed fonte = "default", bool quebrarLinha = false, bool coresNoTexto = false ] )
NomeTipoPadrãoDescrição
textostring—O texto a medir.
larguranumber0Largura máxima da caixa, usada quando quebrarLinha está ativo. Com 0, cada palavra fica numa linha própria.
escalaXnumber1Escala horizontal.
escalaYnumberigual a escalaXEscala vertical.
fontemixed"default"Nome de uma fonte embutida ou um elemento de fonte.
quebrarLinhaboolfalseQuebra o texto em palavras inteiras para caber na largura informada.
coresNoTextoboolfalseIgnora os códigos #RRGGBB na medição.

Dois valores:

PosiçãoDescrição
1Largura da linha mais larga, em pixels.
2Altura do bloco inteiro, em pixels.

Um texto vazio dá 0, 0. Se a fonte não puder ser carregada, devolve apenas false.

Ao contrário das outras funções de texto, aqui um argumento errado gera um erro de Lua — e isso inclui um nome de fonte que não seja uma das fontes embutidas e um elemento que não é fonte. As palavras nunca são partidas: uma palavra mais larga que largura fica numa linha própria.

A medição bate com o que dxDrawText desenha na tela, incluindo as letras unidas das escritas da direita para a esquerda, como o árabe.

-- caixa de diálogo que se ajusta ao texto
local texto = "Você precisa de uma chave\npara abrir esta porta."
local largura, altura = dxGetTextSize(texto, 0, 1, 1, "default")
dxDrawRectangle(40, 40, largura + 20, altura + 20, tocolor(0, 0, 0, 190))
dxDrawText(texto, 50, 50, 50 + largura, 50 + altura, tocolor(255, 255, 255, 255), 1)