# engineCreateTexture (Cliente)

> Cria uma textura a partir de um arquivo de imagem do recurso ou dos bytes de uma imagem na memória. A textura existe só neste cliente.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Cliente
- **Categoria**: Texturas
- **URL**: https://wiki.mymp.gg/pt/engineCreateTexture

## Sintaxe

```lua
texture engineCreateTexture(string source [, string format = "unknown", bool mipmaps = true, string edge = "wrap"])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `source` | `string` | Caminho de um arquivo de imagem no recurso, ou uma string com os bytes do arquivo de imagem. |
| `format` | `string` | Como a textura é guardada: `unknown`, `argb`, `xrgb`, `rgb`, `dxt1`, `dxt2`, `dxt3`, `dxt4` ou `dxt5`. Formatos de profundidade são recusados. *(padrão: `"unknown"`)* |
| `mipmaps` | `bool` | Gera mipmaps para a textura. *(padrão: `true`)* |
| `edge` | `string` | Como ela é amostrada além das bordas: `wrap`, `mirror`, `clamp`, `border` ou `mirror-once`. *(padrão: `"wrap"`)* |

## Retorno

O novo elemento `texture`. Lança um erro se os argumentos estiverem errados ou se a textura não pôde ser criada.

A imagem é decodificada em segundo plano. `onClientAssetLoad` dispara na textura quando ela fica pronta, com `false` se não pôde ser decodificada.

Uma textura em branco é criada com `engineCreateTexture(width, height [, format, edge, type])`: os dois lados de 1 a 16384 pixels, e `type` só `"2d"`.

## Exemplo

```lua
local logo = engineCreateTexture("images/logo.png", "dxt5")

addEventHandler("onClientRender", root, function()
    dxDrawImage(20, 20, 128, 128, logo)
end)
```

### Vindo do MTA

É o `dxCreateTexture` do MTA com outro nome. Texturas `3d` e `cube` não podem ser criadas.

## Veja também

- [dxDrawImage (Cliente)](https://wiki.mymp.gg/pt/dxDrawImage.md): Desenha uma imagem na tela durante um quadro.
- [dxSetTexturePixels (Cliente)](https://wiki.mymp.gg/pt/dxSetTexturePixels.md): Escreve pixels numa textura criada por script ou num render target.
- [engineSetTxdTexture (Cliente)](https://wiki.mymp.gg/pt/engineSetTxdTexture.md): Coloca uma imagem num txd sob um nome de textura, substituindo a textura com esse nome ou acrescentando uma nova. Tudo que lê o txd acompanha: modelos, peds, landscapes, ruas, partículas, água e céu.
- [onClientAssetLoad (Cliente)](https://wiki.mymp.gg/pt/onClientAssetLoad.md): Disparado uma vez quando um asset que um script começou a carregar em segundo plano fica pronto, ou falha.
