PT-BR/dxGetTextSize: Difference between revisions
m (little correction) |
mNo edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{BR/ | {{PT-BR/Client_function}} | ||
{{New items|3.0158|1.5.7|Esta função ira retornar a largura e altura teóricas (em pixels) de um determinado trecho de texto, se ele fosse feito usando [[dxDrawText]].|20447}} | {{New items|3.0158|1.5.7|Esta função ira retornar a largura e altura teóricas (em pixels) de um determinado trecho de texto, se ele fosse feito usando [[dxDrawText]].|20447}} | ||
Line 27: | Line 27: | ||
==Exemplo== | ==Exemplo== | ||
<section name="Exemplo 1" class="client" show=" | <section name="Exemplo 1" class="client" show="true"> | ||
Esse exemplo mostra um retângulo que acompanha o texto digitado após o comando ser acionado | Esse exemplo mostra um retângulo que acompanha o texto digitado após o comando ser acionado | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> |
Latest revision as of 20:05, 1 April 2023
Esta função ira retornar a largura e altura teóricas (em pixels) de um determinado trecho de texto, se ele fosse feito usando dxDrawText.
NOTA: Esta função já leva em consideração a resolução da tela do cliente.
Syntax
float, float dxGetTextSize ( string text [, float width = 0, float scaleX = 1.0, float scaleY = 1.0, mixed font = "default", bool wordBreak = false, bool colorCoded = false] )
Sintaxe POO(OOP) Não entendeu o que significa isso?
- Nota: Esta sintaxe requer que você ignore o argumento da fonte acima
- Método: font:getSize(...)
Argumentos Requeridos
- texto: Uma string que representa o texto para o qual você deseja recuperar com largura.
Argumentos Opcionais
NOTA: Ao usar argumentos opcionais, pode ser necessário fornecer todos os argumentos anteriores ao que você deseja usar. Para obter mais informações sobre argumentos opcionais, consulte Argumentos Opcionais.
- width: A largura do texto. Usar com wordBreak = true.
- scaleX: O tamanho do texto. O tamanho também pode ser inserida como um Vector2.
- scaleY: O tamanho do texto.
- fonte: Ou uma Fonte Dx elemento ou o nome de uma fonte dx integrada:
- "default": Tahoma
- "default-bold": Tahoma Bold
- "clear": Verdana
- "arial": Arial
- "sans": Microsoft Sans Serif
- "pricedown": Pricedown (GTA's theme text)
- "bankgothic": Bank Gothic Medium
- "diploma": Diploma Regular
- "beckett": Beckett Regular
- "unifont": Unifont
- wordBreak: Se definido para true, o texto será quebrado em uma nova linha sempre que atingir o lado direito da caixa delimitadora. Se false, o texto sempre estará completamente em uma linha.
- colorCoded: Devemos excluir códigos de cores da largura? False incluirá o hexadecimal no comprimento.
Retorna
Retorna dois floats que representam a largura e a altura do texto em pixels.
Exemplo
Esse exemplo mostra um retângulo que acompanha o texto digitado após o comando ser acionado
local screenWidth, screenHeight = guiGetScreenSize() -- Pegamos a resolução do cliente local PosX, PosY = (screenWidth/1360), (screenHeight/768) -- Resolução do desenvolvedor do script local boxIsShowing = false -- Definimos que a variavel é false function theMessageBox() if boxIsShowing and Texto then local textoWidth, textoHeight = dxGetTextSize(Texto, PosX * (160 - 15), 1, 1, "default-bold", true, false) -- Pegamos os dois floats que dxGetTextSize retorna --[[ Uma nota importante é que o PosX * (160 - 15) acima vai representar: 160 = 4° Parametro do dxDrawText, representa largura do texto ; 15 = 2° Parametro do dxDrawText, representa " Posição X " do texto. Para retornar a altura sempre use o wordbreak como true ]]-- dxDrawRectangle(PosX * 5, PosY * 350, PosX * 170, textoHeight + 15, tocolor(13, 13, 13, 180), false) -- Colocamos o retangulo para aumentar conforme a altura do texto dxDrawText(Texto, PosX * 15, PosY * 358, PosX * 160, PosY * 380, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, true, false, false, false) end end addCommandHandler("showbox", function(nomeDoComando, ...) if not boxIsShowing then local Mensagem = table.concat({...}, " ") if Mensagem ~= "" then Texto = Mensagem boxIsShowing = true addEventHandler("onClientRender", root, theMessageBox) setTimer(function() boxIsShowing = false Texto = nil removeEventHandler("onClientRender", root, theMessageBox) end, 10 * 1000, 1) else outputChatBox("Você precisa digitar uma mensagem após o comando.", 255, 255, 255, true) end end end)
Requer
Servidor mínimo suportado | N/A |
---|---|
Cliente mínimo suportado | 1.5.7-9.20447 |
Nota: O uso desta função / evento requer que o recurso tenha a versão mínima acima declarada na seção meta.xml <min_mta_version>. e.g. <min_mta_version client="1.5.7-9.20447" />
Veja Mais
- dxConvertPixels
- dxCreateFont
- dxCreateRenderTarget
- dxCreateScreenSource
- dxCreateShader
- dxCreateTexture
- dxDrawCircle
- dxDrawImage
- dxDrawImageSection
- dxDrawLine
- dxDrawLine3D
- dxDrawMaterialLine3D
- dxDrawMaterialPrimitive
- dxDrawMaterialPrimitive3D
- dxDrawMaterialSectionLine3D
- dxDrawPrimitive
- dxDrawPrimitive3D
- dxDrawRectangle
- dxDrawText
- dxDrawWiredSphere
- dxGetBlendMode
- dxGetFontHeight
- dxGetMaterialSize
- dxGetPixelColor
- dxGetPixelsSize
- dxGetPixelsFormat
- dxGetStatus
- dxGetTextSize
- dxGetTextWidth
- dxGetTexturePixels
- dxIsAspectRatioAdjustmentEnabled
- dxSetAspectRatioAdjustmentEnabled
- dxSetBlendMode
- dxSetPixelColor
- dxSetRenderTarget
- dxSetShaderValue
- dxSetShaderTessellation
- dxSetShaderTransform
- dxSetTestMode
- dxSetTextureEdge
- dxSetTexturePixels
- dxUpdateScreenSource