# engineCreateTexture (Cliente)

> Crea una textura a partir de un archivo de imagen del recurso o de los bytes de una imagen en memoria. La textura solo existe en este cliente.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Cliente
- **Categoría**: Texturas
- **URL**: https://wiki.mymp.gg/es/engineCreateTexture

## Sintaxis

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

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `source` | `string` | Ruta de un archivo de imagen en el recurso, o un string con los bytes del archivo de imagen. |
| `format` | `string` | Cómo se guarda la textura: `unknown`, `argb`, `xrgb`, `rgb`, `dxt1`, `dxt2`, `dxt3`, `dxt4` o `dxt5`. Los formatos de profundidad se rechazan. *(por defecto: `"unknown"`)* |
| `mipmaps` | `bool` | Genera mipmaps para la textura. *(por defecto: `true`)* |
| `edge` | `string` | Cómo se muestrea más allá de sus bordes: `wrap`, `mirror`, `clamp`, `border` o `mirror-once`. *(por defecto: `"wrap"`)* |

## Retorno

El nuevo elemento `texture`. Lanza un error si los argumentos son incorrectos o si no se pudo crear la textura.

La imagen se decodifica en segundo plano. `onClientAssetLoad` se dispara en la textura cuando está lista, con `false` si no se pudo decodificar.

Una textura en blanco se crea con `engineCreateTexture(width, height [, format, edge, type])`: ambos lados de 1 a 16384 píxeles, y `type` solo `"2d"`.

## Ejemplo

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

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

### Si vienes de MTA

Es el `dxCreateTexture` de MTA con otro nombre. No se pueden crear texturas `3d` ni `cube`.

## Ver también

- [dxDrawImage (Cliente)](https://wiki.mymp.gg/es/dxDrawImage.md): Dibuja una imagen en la pantalla durante un fotograma.
- [dxSetTexturePixels (Cliente)](https://wiki.mymp.gg/es/dxSetTexturePixels.md): Escribe píxeles en una textura creada por script o en un render target.
- [engineSetTxdTexture (Cliente)](https://wiki.mymp.gg/es/engineSetTxdTexture.md): Pone una imagen en un txd bajo un nombre de textura, reemplazando la textura con ese nombre o agregando una nueva. Todo lo que lee el txd la sigue: modelos, peds, landscapes, calles, partículas, agua y cielo.
- [onClientAssetLoad (Cliente)](https://wiki.mymp.gg/es/onClientAssetLoad.md): Se dispara una vez cuando un asset que un script empezó a cargar en segundo plano está listo, o ha fallado.
