# Formatos de archivo

Qué formatos abre y exporta pxstud.io, y qué conserva cada uno.

Abre archivos con Archivo > Abrir... (o suéltalos sobre el editor) y exporta con Archivo > Exportar....
Cómo usar cada opción está en [Abrir, importar y exportar](https://pxstud.io/es/docs/manual/guides/import-export.md).

| Formato | Abre | Exporta | Animación | Capas |
| - | - | - | - | - |
| **pxstud.io** (`.pxstudio`) | sí | con Archivo > Guardar como... | sí | se conserva todo |
| **Aseprite** (`.aseprite`, `.ase`) | sí | sí | sí | capas, grupos, celdas vinculadas, etiquetas, slices, tilemaps y la paleta |
| **PNG** | una imagen | una imagen, o una por fotograma | como archivos separados | aplanado |
| **APNG** (PNG animado, `.png` o `.apng`) | sí, con la temporización de cada fotograma | animado | sí | aplanado |
| **GIF** | sí, con la temporización de cada fotograma | animado | sí | aplanado |
| **WebP** | fijo o animado | fijo o animado | sí | aplanado |
| **JPEG** | sí (sin transparencia) | una imagen por fotograma | no | aplanado |
| **AVIF** | una imagen | una imagen por fotograma (sin pérdida por omisión) | no | aplanado |
| **BMP**, **TGA**, **PCX** | una imagen | una imagen por fotograma | no | aplanado |
| **QOI** | una imagen | una imagen por fotograma | no | aplanado |
| **ICO** (icono de Windows) | la imagen más grande del archivo | un icono por fotograma, hasta 256×256, opcionalmente con cada tamaño mayor de número entero | no | aplanado |
| **CUR** (cursor de Windows) | la imagen más grande, con su punto de clic | como ICO, con el punto de clic | no | aplanado |
| **Netpbm** (`.pbm`, `.pgm`, `.ppm`, `.pnm`, `.pam`) | una imagen | una imagen por fotograma (`.pgm`, `.ppm`, o `.pam` con transparencia) | no | aplanado |
| **Photoshop** (`.psd`, `.psb`) | sí | el fotograma activo | no | capas, grupos, modos de mezcla, opacidad, visibilidad, recorte |
| **OpenRaster** (`.ora`) | sí | el fotograma activo | no | capas, grupos, modos de mezcla, opacidad, visibilidad |
| **Piskel** (`.piskel`) | sí | sí | sí | capas (grupos aplanados al exportar) |
| **Pixilart** (`.pixil`) | sí | no | sí | capas |
| **Pixelorama** (`.pxo`, versión 1.0 y posteriores) | sí | no | sí, con etiquetas | capas, grupos, tilemaps, celdas vinculadas |
| **Pyxel Edit** (`.pyxel`) | sí | no | las animaciones se convierten en fotogramas y etiquetas | capas |
| **FLI/FLC** (Autodesk Animator) | sí | sí | sí | aplanado, hasta 256 colores |
| **SVG** | mediante Importar como pixel art | una imagen por fotograma | no | aplanado |
| **Video MP4** | no | donde el navegador pueda crear video | sí | aplanado |
| **Hoja de sprites** (PNG + JSON) | con Archivo > Importar > Hoja de sprites... | sí | fotogramas en una sola imagen | puede dividir capas y etiquetas en filas |
| **Godot 4 SpriteFrames** (PNG + `.tres`) | no | sí, como archivo de datos de una hoja de sprites | una animación por etiqueta | puede dividir capas |
| **Tilemap** (Tiled `.tmj`/`.tsj`, JSON) | no | sí | JSON: todos los fotogramas; Tiled: un fotograma | solo capas de tilemap |
| **Paletas** (`.gpl`, `.pal`, `.hex`, `.act`, `.aco`, `.ase`, …) | en la [Biblioteca de paletas](https://pxstud.io/es/docs/manual/guides/color.md#the-palette-library) | en la Biblioteca de paletas | | |

**Límites de tamaño.** Los formatos animados y los archivos Aseprite se abren hasta 4096 píxeles por lado.

**Abrir imágenes.** Una imagen se abre como un sprite con una capa. Las imágenes indexadas (GIF, FLC, PNG de 8 bits,
BMP, TGA, PCX, ICO, archivos de Photoshop indexados) se abren como sprites indexados con su paleta (incluidos los colores
parcialmente transparentes de un PNG de 8 bits); las imágenes en escala de grises
(PGM, PBM, PNG gris, archivos de Photoshop en gris) se abren como sprites en escala de grises; un GIF cuyos fotogramas tienen distintas
paletas conserva una paleta por fotograma. Un PNG animado (un APNG) se abre con todos sus fotogramas y
sus temporizaciones, se llame `.png` o `.apng`.

**Archivos de otros editores.** Los archivos de Photoshop, OpenRaster (Krita, GIMP, MyPaint), Piskel, Pixilart,
Pixelorama y Pyxel Edit se abren con sus capas. Todo lo que no se conserva se lista
en un aviso:

- Un modo de mezcla que pxstud.io no tiene pasa a Normal.
- Los grupos Pass Through de Photoshop se abren como grupos de traspaso y sus demás grupos como grupos
  aislados, y se exportan del mismo modo. Un grupo Pass Through por debajo del 100% de opacidad solo se puede dibujar
  aislado: cuando una capa de su interior usa otro modo de mezcla, el aviso dice que puede verse distinto.
- Los grupos de OpenRaster conservan su aislamiento (`isolation="isolate"` es un grupo aislado). En
  Pixelorama, un grupo configurado como Pass Through se abre como traspaso y cualquier otro grupo como aislado.
- Las máscaras de capa de Photoshop se aplican a los píxeles de la capa. Las capas de ajuste, el texto y los efectos
  entran como sus píxeles, o no entran.
- Las capas de tilemap de Pixelorama se abren como capas de tilemap: las capas que comparten un tileset lo siguen compartiendo,
  y los tiles volteados y transpuestos conservan su transformación. Un tilemap con tiles isométricos, hexagonales o
  de medio desplazamiento, o uno que la cuadrícula de tiles cuadrados no puede contener, se abre como una capa
  normal de sus píxeles. Un proyecto indexado de Pixelorama se abre como sprite indexado, con los colores de su paleta en
  las mismas posiciones; si los índices y los colores del archivo no coinciden, se abre como RGBA. Las celdas vinculadas siguen
  vinculadas, y las guías y los datos de usuario (notas de proyecto, capa, celda, etiqueta y tile, colores de capa y celda)
  también vienen.
- Se omiten los efectos de capa, las capas 3D y de audio y los datos de usuario de fotogramas de Pixelorama (el aviso nombra
  las capas). Los archivos anteriores a Pixelorama 1.0 deben volver a guardarse en una versión más reciente de Pixelorama.
- Un archivo de Pyxel Edit con animaciones se abre al tamaño de tile, con un fotograma por celda de animación y una
  etiqueta por animación; el resto del lienzo no se conserva.
- Piskel conserva una sola velocidad de fotogramas para todo el archivo, así que al exportar usa la duración de fotograma
  más común. Su exportación también omite las capas ocultas y no tiene grupos ni modos de mezcla.

**Iconos y cursores.** Un archivo ICO o CUR contiene una imagen por tamaño; pxstud.io abre la más grande. El
punto de clic de un cursor (su hotspot) entra como un slice llamado `Hotspot` con su pivote en ese
píxel. Al exportar un cursor se usa el pivote de un slice llamado `hotspot`, o el píxel superior izquierdo cuando
no hay ninguno.

**Temporización de FLC.** Los reproductores de FLC muestran cada fotograma durante el mismo tiempo, así que la exportación FLC de pxstud.io repite un
fotograma tantas veces como necesite su duración (como hace Aseprite), y al abrir un FLC se vuelven a unir los fotogramas
repetidos en uno. Dos fotogramas vecinos que se ven iguales se convierten en uno en ambos casos.

**¿APNG o GIF?** Un PNG animado conserva todos los colores, la transparencia suave y las temporizaciones exactas de los fotogramas,
y se reproduce en todos los navegadores actuales. El GIF tiene como máximo 256 colores, solo píxeles totalmente transparentes o totalmente sólidos,
y temporizaciones en pasos de 10 ms, pero casi todo puede mostrarlo. Las apps sin compatibilidad con APNG
muestran el primer fotograma de un PNG animado.

**Los archivos Aseprite** conservan casi todo. Al abrir uno, un aviso lista lo que no se pudo conservar:
un perfil de color incrustado (pxstud.io trabaja en sRGB), un modo de mezcla que pxstud.io no tiene (pasa a
Normal), una capa de tilemap que no está sobre su cuadrícula de tiles (se abre como capa de imagen), una capa de referencia
que muestra imágenes distintas en distintos fotogramas (se conserva la primera), o una celda dañada o
un tipo de capa desconocido (se omite, como hace Aseprite, mientras el resto del archivo se abre).

Aseprite no tiene máscaras de recorte. pxstud.io guarda la máscara de recorte de una capa en el archivo `.aseprite` como
una propiedad bajo su propio nombre de extensión `pxstudio`, que Aseprite conserva pero ignora. La capa
se dibuja sin recorte en Aseprite y se vuelve a recortar cuando el archivo se reabre en pxstud.io.

Aseprite aísla todos los grupos o ninguno: los grupos son de traspaso a menos que **Compose groups
separately** (en sus preferencias Experimental) esté activado. Cuando un sprite tiene un grupo aislado, el archivo `.aseprite` de pxstud.io
pide grupos compuestos (y conserva la opacidad y los modos de mezcla de los grupos), y marca cada grupo
que no está aislado con `isolated: false` bajo el nombre de extensión `pxstudio`. Aseprite entonces
dibuja también esos grupos aislados cuando esa opción está activada, mientras que pxstud.io los reabre
como traspaso. Un archivo con grupos compuestos de Aseprite se abre con todos los grupos aislados.
