# dxGetTexturePixels (Cliente)

> Lee los píxeles de una imagen y los entrega a una función, unos fotogramas después.

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

## Sintaxis

```lua
bool dxGetTexturePixels(texture|dui texture, function callback [, string format = plain, string textureFormat = unknown, bool mipmaps = true, int x, y = 0, 0, int width, height = 0, 0])
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `texture` | `texture\|dui` | La imagen: textura, render target, screen source o dui. Una textura de txd también sirve. |
| `format` | `string` | Formato: `plain`, `png`, `jpeg` o `dds`. *(por defecto: `plain`)* |
| `textureFormat` | `string` | Para `dds`: `unknown` (el de la imagen), `argb`, `xrgb`, `rgb`, `dxt1`, `dxt2`, `dxt3`, `dxt4` o `dxt5`. Solo puede ir después de `format`. *(por defecto: `unknown`)* |
| `mipmaps` | `bool` | Para `dds`: genera mipmaps. Solo puede ir después de `format`. *(por defecto: `true`)* |
| `x, y` | `int` | Esquina superior izquierda del área leída, en píxeles. También acepta un vec2. *(por defecto: `0, 0`)* |
| `width, height` | `int` | Tamaño del área leída. Con alto 0, se lee la imagen entera. También acepta un vec2. *(por defecto: `0, 0`)* |
| `callback` | `function` | Recibe los píxeles como string, o `false` si la lectura falló. |

## Retorno

`true` si la lectura empezó, `false` si la imagen aún no tiene contenido.

Un número al principio (el índice de superficie de MTA) se acepta y se ignora. Los píxeles `plain` son 4 bytes por píxel (azul, verde, rojo, alfa), fila por fila, seguidos del ancho y el alto en 2 bytes cada uno.

## Ejemplo

```lua
local target = dxCreateRenderTarget(256, 256, true)

dxGetTexturePixels(target, "png", function(pixels)
    if not pixels then return end
    local file = fileCreate("snapshot.png")
    fileWrite(file, pixels)
    fileClose(file)
end)
```

### Si vienes de MTA

En MTA los píxeles se devuelven al instante. En MYMP llegan a una función, porque leer de la tarjeta gráfica tarda unos fotogramas.

## Ver también

- [dxSetTexturePixels (Cliente)](https://wiki.mymp.gg/es/dxSetTexturePixels.md): Escribe píxeles en una textura creada por script o en un render target.
- [dxConvertPixels (Cliente)](https://wiki.mymp.gg/es/dxConvertPixels.md): Convierte una imagen guardada en un string a otro formato, en segundo plano, y entrega el resultado a una función.
- [dxGetPixelColor (Cliente)](https://wiki.mymp.gg/es/dxGetPixelColor.md): Lee el color de un píxel de una imagen en plain.
- [engineGetTxdTexture (Cliente)](https://wiki.mymp.gg/es/engineGetTxdTexture.md): Da un elemento texture que muestra lo que un txd muestra bajo un nombre de textura, para dibujarlo o usarlo como fuente.
