svgCreate
This page is incomplete! Help wanted!
Please finish this page using the corresponding Old Wiki article.
Go to Contribution guidelines for more information.
Creates an svg from size (blank document), filepath or raw data.
SVG in MTA is handled by the lunasvg rendering engine - Some features in MTA may not work properly, compared to the browser.
If you are experiencing poor texture quality or artifacts in the form of black outlines, setting the blend mode to add might help
Before r21155 ( 3157905 ) the provided callback was only fired once after the function had performed its task. This is no longer the case - each SVG can now store a single callback function (optional) which is fired every time the SVG texture has been changed/updated.
Syntax
svgCreate ( )Code Examples
This is a basic example of how you can create an SVG from raw data (or path) and draw it withdxDrawImageviaonClientRender.
-- This could also be a file, with the path provided to svgCreate insteadlocal rawSvgData = [[ <svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"> <circle cx="250" cy="250" r="250" fill="#0fc0fc" /> </svg>]]
local myCircleSvg
local function drawCircleSvg() dxDrawImage(0, 0, 500, 500, myCircleSvg, 0, 0, 0, tocolor(255, 255, 255), false)end
local function init() -- Create an SVG containing a circle, using the raw XML data above myCircleSvg = svgCreate(500, 500, rawSvgData) addEventHandler("onClientRender", root, drawCircleSvg)endaddEventHandler("onClientResourceStart", resourceRoot, init)