DxGetTextSize
Jump to navigation
Jump to search
This function retrieves the theoretical width and height (in pixels) of a certain piece of text, if it were to be drawn using dxDrawText.
NOTE: This function already takes the client's screen resolution into account.
Syntax
Vector2 dxGetTextSize ( string text [, float width = 0, float scaleX = 1.0, float scaleY = 1.0, mixed font = "default", bool wordBreak = false, bool colorCoded = false ] )
OOP Syntax Help! I don't understand this!
- Note: This syntax requires you to ignore the font argument above
- Method: font:getSize(...)
Required Arguments
- text: A string representing the text for which you wish to retrieve with width for.
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- width: The width of the text. Use with wordBreak = true.
- scaleX: The scale of the text. Scale can be specified as a Vector2.
- scaleY: The scale of the text. Scale can be specified as a Vector2.
- font: Either a custom DX font element or the name of a built-in dx font:
- "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: If set to true, the text will wrap to a new line whenever it reaches the right side of the bounding box. If false, the text will always be completely on one line.
- colorCoded: Should we exclude color codes from the width? False will include the hex in the length.
Returns
Returns a Vector2 representing the width and height of the text in pixels.
Example
This example draws a text with black background at the bottom right corner of the screen.
local screenWidth, screenHeight = guiGetScreenSize() local message = "Incredibly huuuuuuuge message" local messageOffset = 32 local messagePadding = 16 local messageWidth = 256 function renderMessage() local textSize = dxGetTextSize(message, messageWidth, 2, "default", true) local textWidth, textHeight = textSize.x, textSize.y local x = screenWidth - textWidth - messageOffset local y = screenHeight - textHeight - messageOffset dxDrawRectangle(x - messagePadding, y - messagePadding, textWidth + messagePadding * 2, textHeight + messagePadding * 2, 0x80000000) -- draw background dxDrawText(message, x, y, x + textWidth, y + textHeight, 0xFFFFFFFF, 2, "default", "left", "top", false, true) end addEventHandler("onClientRender", root, renderMessage)
Requirements
This template will be deleted.
See Also
- 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