DxDrawSVG
Jump to navigation
Jump to search
Description
Draws an SVG image on screen using dxDrawImage, with automatic caching. Supports both raw SVG strings and external .svg files from the resource folder.
- This function runs on the client-side.**
Syntax
dxDrawSVG(x, y, width, height, svgPathOrCode [, rotation = 0], [rotationCenterX = 0], [rotationCenterY = 0], [color = white], [postGUI = false])
Required Arguments
- x: *float* – X position on screen.
- y: *float* – Y position on screen.
- width: *float* – Width of the image.
- height: *float* – Height of the image.
- svgPathOrCode: *string* – Raw SVG code or a file path to `.svg`.
Optional Arguments
- rotation: *float* – Rotation in degrees.
- rotationCenterX: *float* – Rotation center X.
- rotationCenterY: *float* – Rotation center Y.
- color: *int* – Color (use tocolor()).
- postGUI: *bool* – Whether to draw after GUI.
Code (Client-side)
local HsoData = {} function dxDrawSVG(x, y, w, h, rawOrPath, ...) if not HsoData[rawOrPath] then if fileExists(rawOrPath) then local file = fileOpen(rawOrPath) if file then local content = fileRead(file, fileGetSize(file)) fileClose(file) HsoData[rawOrPath] = svgCreate(w, h, content) end else HsoData[rawOrPath] = svgCreate(w, h, rawOrPath) end end if HsoData[rawOrPath] then dxSetBlendMode('add') dxDrawImage(x, y, w, h, HsoData[rawOrPath], ...) dxSetBlendMode('blend') end end
Example: Raw SVG string
dxDrawSVG(400, 200, 128, 128, [[ <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"> <circle cx="64" cy="64" r="60" stroke="white" stroke-width="8" fill="blue" /> </svg> ]], 0, 0, 0, tocolor(255, 255, 255, 200))
Example: SVG file
meta.xml:
<file src="files/icon.svg" />
Lua:
dxDrawSVG(400, 200, 64, 64, "files/icon.svg", 0, 0, 0, tocolor(255, 255, 255, 255))
Notes
- Supports both raw SVG content and external SVG files.
- Automatically caches each unique SVG to improve performance.
- Some complex SVGs may not be fully supported by svgCreate.
- This function should be used on the **client-side** only.
See also
Credits
- Function by Hussein Ali
Instagram : pkw_3