PT-BR/svgCreate

From Multi Theft Auto: Wiki
Revision as of 02:55, 20 February 2022 by LODS (talk | contribs) (Created page with "__NOTOC__ {{BR/Função cliente}} {{BR/Nota Importante|'''NÃO''' use svgCreate dentro do evento onClientRender pode ocasionar crash em seu servidor.}} {{Added feature/item|1.5.9|1.5.8|20979|}} Cria um svg com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos. ==Sintaxe== <syntaxhighlight lang="lua">svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )</syntaxhighlight> ===Argumentos...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:BR/Função cliente

Sticky-notes.png Nota Importante: NÃO use svgCreate dentro do evento onClientRender pode ocasionar crash em seu servidor.

Cria um svg com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos.

Sintaxe

svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )

Argumentos Necessários

  • width Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.
  • height Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.

Argumentos Opcionais

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.

  • pathOrRawData: Uma string representando o caminho para seu arquivo SVG, ou dados brutos SVG.
  • callback: Uma função de callback chamada no documento SVG e na criação da textura, útil para saber quando o svg está pronto.

Retornos

  • Retorna um svg se criado com sucesso, false caso dê errado.

Exemplo

O exemplo abaixo mostra como você pode carregar um SVG por dados brutos (ou arquivo) e desenhá-lo com dxDrawImage via onClientRender.

IMPORTANTE: Dependendo da sua implementação, o uso de uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam prontos.

-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate
local 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 svg

function init()
    -- Cria um círculo em SVG, usando os dados, usando os dados brutos XML acima.
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)
        if (not didLoad) then -- Se o SVG falhou em carregar, essa função não continuará.
            return 
        end

        addEventHandler("onClientRender", root, render)
    end)
end
addEventHandler("onClientResourceStart", resourceRoot, init)

function render()
    dxDrawImage(0, 0, 500, 500, svg, 0, 0, 0, tocolor(255, 255, 255), false)
end

Requirements

This template will be deleted.

See Also