# Formati di file

Quali formati pxstud.io apre ed esporta, e cosa conserva ciascuno.

Apri i file con File > Apri... (oppure trascinali sull'editor) ed esporta con File > Esporta....
Come usare ogni opzione è spiegato in [Aprire, importare ed esportare](https://pxstud.io/it/docs/manual/guides/import-export.md).

| Formato | Apre | Esporta | Animazione | Livelli |
| - | - | - | - | - |
| **pxstud.io** (`.pxstudio`) | sì | con File > Salva con nome... | sì | tutto viene conservato |
| **Aseprite** (`.aseprite`, `.ase`) | sì | sì | sì | livelli, gruppi, cel collegati, tag, slice, tilemap e la palette |
| **PNG** | un'immagine | un'immagine, o una per fotogramma | come file separati | appiattiti |
| **APNG** (PNG animato, `.png` o `.apng`) | sì, con i tempi di ogni fotogramma | animato | sì | appiattiti |
| **GIF** | sì, con i tempi di ogni fotogramma | animata | sì | appiattiti |
| **WebP** | fissa o animata | fissa o animata | sì | appiattiti |
| **JPEG** | sì (senza trasparenza) | un'immagine per fotogramma | no | appiattiti |
| **AVIF** | un'immagine | un'immagine per fotogramma (senza perdita in modo predefinito) | no | appiattiti |
| **BMP**, **TGA**, **PCX** | un'immagine | un'immagine per fotogramma | no | appiattiti |
| **QOI** | un'immagine | un'immagine per fotogramma | no | appiattiti |
| **ICO** (icona di Windows) | l'immagine più grande nel file | un'icona per fotogramma, fino a 256×256, facoltativamente con ogni dimensione più grande a numero intero | no | appiattiti |
| **CUR** (cursore di Windows) | l'immagine più grande, con il suo punto di clic | come ICO, con il punto di clic | no | appiattiti |
| **Netpbm** (`.pbm`, `.pgm`, `.ppm`, `.pnm`, `.pam`) | un'immagine | un'immagine per fotogramma (`.pgm`, `.ppm`, oppure `.pam` con trasparenza) | no | appiattiti |
| **Photoshop** (`.psd`, `.psb`) | sì | il fotogramma attivo | no | livelli, gruppi, modalità di fusione, opacità, visibilità, ritaglio |
| **OpenRaster** (`.ora`) | sì | il fotogramma attivo | no | livelli, gruppi, modalità di fusione, opacità, visibilità |
| **Piskel** (`.piskel`) | sì | sì | sì | livelli (i gruppi vengono appiattiti all'esportazione) |
| **Pixilart** (`.pixil`) | sì | no | sì | livelli |
| **Pixelorama** (`.pxo`, versione 1.0 e successive) | sì | no | sì, con i tag | livelli, gruppi, tilemap, cel collegati |
| **Pyxel Edit** (`.pyxel`) | sì | no | le animazioni diventano fotogrammi e tag | livelli |
| **FLI/FLC** (Autodesk Animator) | sì | sì | sì | appiattiti, fino a 256 colori |
| **SVG** | tramite Importa come pixel art | un'immagine per fotogramma | no | appiattiti |
| **Video MP4** | no | dove il browser sa creare video | sì | appiattiti |
| **Sprite sheet** (PNG + JSON) | con File > Importa > Sprite sheet... | sì | fotogrammi in un'unica immagine | può dividere livelli e tag in righe |
| **Godot 4 SpriteFrames** (PNG + `.tres`) | no | sì, come file di dati di uno sprite sheet | un'animazione per tag | può dividere i livelli |
| **Tilemap** (Tiled `.tmj`/`.tsj`, JSON) | no | sì | JSON: ogni fotogramma; Tiled: un fotogramma | solo livelli tilemap |
| **Palette** (`.gpl`, `.pal`, `.hex`, `.act`, `.aco`, `.ase`, …) | nella [Libreria palette](https://pxstud.io/it/docs/manual/guides/color.md#the-palette-library) | nella Libreria palette | | |

**Limiti di dimensione.** I formati animati e i file Aseprite si aprono fino a 4096 pixel per lato.

**Aprire le immagini.** Un'immagine si apre come uno sprite con un livello. Le immagini indicizzate
(GIF, FLC, PNG a 8 bit, BMP, TGA, PCX, ICO, file Photoshop indicizzati) si aprono come sprite
indicizzati con la loro palette (compresi i colori parzialmente trasparenti di un PNG a 8 bit); le
immagini in scala di grigi (PGM, PBM, PNG grigi, file Photoshop grigi) si aprono come sprite in scala
di grigi; una GIF i cui fotogrammi hanno palette diverse mantiene una palette per fotogramma. Un PNG
animato (un APNG) si apre con tutti i suoi fotogrammi e i loro tempi, che si chiami `.png` o
`.apng`.

**File da altri editor.** I file Photoshop, OpenRaster (Krita, GIMP, MyPaint), Piskel, Pixilart,
Pixelorama e Pyxel Edit si aprono con i loro livelli. Tutto ciò che non viene riportato è elencato
in un avviso:

- Una modalità di fusione che pxstud.io non ha diventa Normale.
- I gruppi Pass Through di Photoshop si aprono come gruppi pass-through e gli altri gruppi come
  gruppi isolati, e vengono esportati allo stesso modo. Un gruppo Pass Through sotto il 100% di
  opacità può essere disegnato solo isolato: quando un livello al suo interno usa un'altra modalità
  di fusione, l'avviso dice che potrebbe apparire diverso.
- I gruppi OpenRaster mantengono il loro isolamento (`isolation="isolate"` è un gruppo isolato). In
  Pixelorama, un gruppo impostato su Pass Through si apre pass-through e qualsiasi altro gruppo
  isolato.
- Le maschere di livello di Photoshop vengono applicate ai pixel del livello. I livelli di
  regolazione, il testo e gli effetti arrivano come i loro pixel, oppure non arrivano affatto.
- I livelli tilemap di Pixelorama si aprono come livelli tilemap: i livelli che condividono un
  tileset lo condividono ancora, e i tile capovolti e trasposti mantengono la loro trasformazione.
  Un tilemap con tile isometrici, esagonali o a mezzo scostamento, o uno che la griglia di tile
  quadrati non può contenere, si apre come un normale livello dei suoi pixel. Un progetto
  Pixelorama indicizzato si apre come sprite indicizzato, con i colori della sua palette nelle
  stesse posizioni; se gli indici e i colori del file non concordano si apre come RGBA. I cel
  collegati restano collegati, e arrivano anche le guide e i dati utente (note di progetto, livello,
  cel, tag e tile, colori di livelli e cel).
- Gli effetti di livello di Pixelorama, i livelli 3D e audio e i dati utente dei fotogrammi vengono
  saltati (l'avviso nomina i livelli). I file precedenti a Pixelorama 1.0 vanno salvati di nuovo in
  una versione più recente di Pixelorama.
- Un file Pyxel Edit con animazioni si apre alla dimensione dei tile, con un fotogramma per ogni
  cella di animazione e un tag per animazione; il resto della tela non viene mantenuto.
- Piskel mantiene un'unica frequenza di fotogrammi per tutto il file, quindi all'esportazione usa
  la durata di fotogramma più comune. La sua esportazione tralascia anche i livelli nascosti e non
  ha gruppi né modalità di fusione.

**Icone e cursori.** Un file ICO o CUR contiene un'immagine per dimensione; pxstud.io apre la più
grande. Il punto di clic di un cursore (il suo hotspot) arriva come uno slice chiamato `Hotspot` con
il pivot su quel pixel. Esportare un cursore usa il pivot di uno slice chiamato `hotspot`, oppure il
pixel in alto a sinistra quando non ce n'è.

**Tempi FLC.** I lettori FLC mostrano ogni fotogramma per lo stesso tempo, quindi l'esportazione FLC
di pxstud.io ripete un fotogramma tante volte quante servono alla sua durata (come fa Aseprite), e
aprire un FLC riunisce i fotogrammi ripetuti in uno solo. Due fotogrammi vicini che sembrano uguali
diventano comunque un solo fotogramma.

**APNG o GIF?** Un PNG animato mantiene ogni colore, la trasparenza morbida e i tempi esatti dei
fotogrammi, e si riproduce in ogni browser attuale. La GIF ha al massimo 256 colori, solo pixel
completamente trasparenti o completamente pieni, e tempi a passi di 10 ms, ma quasi tutto può
mostrarla. Le app senza supporto APNG mostrano il primo fotogramma di un PNG animato.

**I file Aseprite** mantengono quasi tutto. Quando ne apri uno, un avviso elenca ciò che non si è
potuto mantenere: un profilo colore incorporato (pxstud.io lavora in sRGB), una modalità di fusione
che pxstud.io non ha (impostata su Normale), un livello tilemap che non è sulla sua griglia di tile
(aperto come livello immagine), un livello di riferimento che mostra immagini diverse in fotogrammi
diversi (viene mantenuta la prima), oppure un cel danneggiato o un tipo di livello sconosciuto
(lasciato fuori, come fa Aseprite, mentre il resto del file si apre).

Aseprite non ha maschere di ritaglio. pxstud.io salva la maschera di ritaglio di un livello nel file
`.aseprite` come proprietà sotto un'estensione di nome `pxstudio`, che Aseprite conserva ma ignora.
Il livello viene disegnato senza ritaglio in Aseprite e viene ritagliato di nuovo quando il file
viene riaperto in pxstud.io.

Aseprite isola tutti i gruppi o nessuno: i gruppi sono pass-through a meno che **Compose groups
separately** (nelle sue preferenze Experimental) non sia attivo. Quando uno sprite ha un gruppo
isolato, il file `.aseprite` di pxstud.io chiede gruppi composti (e mantiene l'opacità e le modalità
di fusione dei gruppi), e contrassegna ogni gruppo non isolato con `isolated: false` sotto il nome
di estensione `pxstudio`. Aseprite disegna allora isolati anche quei gruppi quando quell'opzione è
attiva, mentre pxstud.io li riapre pass-through. Un file con gruppi composti da Aseprite si apre con
ogni gruppo isolato.
