dxSetTexturePixels
Cliente
Escreve pixels numa textura criada por script ou num render target.
bool dxSetTexturePixels(texture texture, string pixels [, int x, y = 0, 0, int width, height = 0, 0])
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| texture | texture | Uma textura de engineCreateTexture ou um render target. |
| pixels | string | Os pixels em plain. |
| x, y | int | Canto superior esquerdo da área escrita, em pixels. Aceita também um vec2.padrão 0, 0 |
| width, height | int | Tamanho da área escrita. Com altura 0, escreve a imagem inteira. Aceita também um vec2.padrão 0, 0 |
Retorno
true se a escrita foi feita ou agendada, false se a imagem não guarda pixels (screen source, dui, textura de txd) ou os pixels não estão em plain.
Um número no começo (o índice de superfície do MTA) é aceito e ignorado. Se a imagem ainda está carregando, a escrita acontece quando ela fica pronta. Pixels plain são 4 bytes por pixel (azul, verde, vermelho, alfa), linha a linha, seguidos da largura e da altura em 2 bytes cada.
Exemplo
local tex = engineCreateTexture(64, 64)
dxGetTexturePixels(tex, function(pixels)
if not pixels then return end
for x = 0, 63 do
dxSetPixelColor(pixels, x, 32, 255, 0, 0)
end
dxSetTexturePixels(tex, pixels)
end)