Ripara ora
- Trascina il file
- La riparazione avviene in locale
- Scarica il risultato
Da dove vengono gli screenshot PNG — e dove si rompono
L'intera vita di uno screenshot è catturare → scrivere su disco → (di solito) sincronizzare automaticamente → incollare o condividere. Il danno entra quasi sempre in uno degli ultimi tre passaggi, e quale di essi lascia un'impronta che puoi riconoscere.
- Windows. PrtScn mette l'immagine solo negli appunti: non viene salvato nulla finché non incolli e usi Salva con nome, quindi un crash la perde del tutto. Win+PrtScn e lo Strumento di cattura scrivono un
.pngvero inPictures\Screenshots, e quella cartella è spesso reindirizzata su OneDrive. Quando OneDrive inizia a caricare uno screenshot nell'istante in cui compare, un riavvio o una disconnessione a metà caricamento può lasciare un file troncato: il classico risultato "la parte alta dell'immagine è a posto, quella bassa è grigia". - macOS. ⌘⇧3/4/5 salva un PNG (spesso di tipo di colore 6, RGBA, perché le catture di finestra mantengono un angolo trasparente) sulla Scrivania per impostazione predefinita. Se la tua Scrivania è in iCloud Drive, vale lo stesso troncamento a metà sincronizzazione. Forzare la chiusura dell'interfaccia di cattura o della miniatura fluttuante prima che la scrittura venga scaricata su disco può ugualmente troncare il file.
- Android. Gli screenshot finiscono in
DCIM/ScreenshotsoPictures/Screenshotse vengono salvati su Google Foto. Il caso fragile è uno screenshot a scorrimento o "cattura di più": il sistema unisce più fotogrammi in un unico PNG molto alto, e se quel passaggio di composizione viene interrotto, il risultato può essere malformato anziché soltanto corto. - Incollato e riscaricato. Questo è il caso unico degli screenshot, perché sono il file che le persone trascinano direttamente in Slack, Discord, Teams o uno strumento di ticket. Quei servizi spesso ricodificano al caricamento; scarica il risultato e qualsiasi danno precedente è ormai inciso in pixel nuovi, oppure il file che hai salvato è in realtà un'anteprima HTML rinominata
.png. - Inviato attraverso un ponte in modalità testo. Uno screenshot spinto attraverso un client FTP lasciato in modalità ASCII, un vecchio gateway di posta o uno script che l'ha riscritto come testo cambia ogni
0D 0Ain un0Aisolato (o viceversa). La firma del PNG è deliberatamente costruita per rilevare esattamente questo, e quando la sostituzione è coerente si inverte byte per byte.
Nota lo schema: il guasto dominante degli screenshot non è una corruzione esotica, è un salvataggio o una sincronizzazione che si è fermato presto. È una buona notizia per il recupero, perché un file corto contiene ancora pixel reali fino al taglio.
Perché le dimensioni di uno screenshot sono di quelle recuperabili
L'unico danno che impedisce a uno screenshot di aprirsi ma che si corregge alla perfezione è un IHDR rovinato: l'intestazione di 13 byte che memorizza larghezza e altezza. Azzerale e nessun decodificatore può allocare una tela, così Foto o Anteprima si limitano a rifiutare il file. Ma IHDR, come ogni chunk PNG, porta un CRC-32 calcolato quando i numeri erano corretti, il che significa che la geometria corretta si può ricavare a forza bruta: provare coppie candidate di larghezza/altezza, ricalcolare il CRC del chunk per ciascuna e fermarsi quando coincide con il valore memorizzato. (Tutta la meccanica di quel CRC e del chunk che protegge è sulla pagina sull'errore CRC di PNG.)
Gli screenshot rendono quella ricerca quasi banale, perché le loro dimensioni non sono arbitrarie: si addensano su una breve lista di risoluzioni dello schermo. Una cattura di Windows è molto probabilmente 1920×1080, 2560×1440 o 3840×2160; un telefono ha una dimensione di pannello nota come 1080×2400 o 1179×2556; e una cattura Retina di macOS è la risoluzione del backing store, cioè la dimensione in punti raddoppiata: una cattura a schermo intero di un MacBook Pro da 14 pollici è 3024×1964, una da 16 pollici è 3456×2234. Il chunk pHYs che uno screenshot spesso porta registra quella densità di pixel, così una cattura Retina "@2×" ti dice perfino la propria scala. Una ricerca di geometria che sarebbe lenta su un'immagine qualsiasi si risolve in una manciata di tentativi su uno screenshot, perché la risposta è quasi sempre una risoluzione standard.
Cosa torna — e cosa provare prima di riparare
Poiché il guasto abituale di uno screenshot è un file corto, il risultato abituale è un parziale onesto: il PNG scrive le sue righe dall'alto verso il basso dentro un unico flusso compresso continuo, così una cattura troncata si decodifica in modo pulito fino a dove finiscono i byte, e lo strumento riscrive una chiusura valida affinché un visualizzatore accetti ciò che è sopravvissuto. Le righe sotto il taglio non sono mai state scritte, quindi nessuno strumento può restituirle; un danno che cade dentro il flusso invece che alla fine costa ogni riga sottostante. (Perché quel flusso non può risincronizzarsi —e perché un colpo a metà flusso è permanente— è spiegato sulla pagina sull'errore CRC di PNG.)
Prima di riparare, però, uno screenshot ha spesso una via di fuga più rapida di qualsiasi altro file danneggiato: prova prima questo.
- Il soggetto è ancora sullo schermo? Rifare lo screenshot è la soluzione meno costosa possibile e ti dà un file impeccabile. Fallo prima di ogni altra cosa se puoi.
- Su Windows, PrtScn lo tiene negli appunti. Se il file salvato è rotto ma da allora non hai copiato nulla, incolla (Ctrl+V) in Paint o Foto e usa Salva con nome per creare un PNG nuovo: la copia negli appunti è indipendente dal file corrotto.
- Controlla l'altra copia di una cattura sincronizzata automaticamente. Se il file locale si è troncato a metà caricamento, la copia su OneDrive / iCloud / Google Foto potrebbe essere completa, o viceversa. Confronta le dimensioni dei file; di solito vince la più grande e più recente. Scarica di nuovo la versione dal cloud invece di fidarti del segnaposto sincronizzato.
- La miniatura fluttuante di macOS è ancora visibile? Fai clic su di essa per riaprire la cattura ed esportarla di nuovo prima che sparisca: quella copia in memoria non è passata dalla scrittura fallita.
Quando nulla di questo si applica, trascina il file qui sopra: il percorso dei chunk, i controlli CRC e la decodifica del flusso girano tutti come normale codice nella scheda del tuo browser, e puoi aprire la scheda Rete per confermare che escono 0 byte, il che conta quando lo screenshot mostra un saldo bancario, una chat privata o una password.
Cosa può e cosa non può riparare
Può riparare
- Uno screenshot troncato da una cartella di caricamento automatico (OneDrive / iCloud / Google Foto) che ha colto il salvataggio a metà scrittura: le righe scritte prima del taglio si decodificano di nuovo come pixel reali
- Larghezza/altezza di IHDR azzerate o alterate, recuperate in fretta perché le dimensioni di uno screenshot sono quasi sempre una risoluzione dello schermo standard
- Un chunk il cui CRC-32 memorizzato non coincide più con dati per il resto intatti: il CRC viene ricalcolato e il file valida con zero perdite
- Corruzione da fine riga / modalità testo (CR-LF ↔ LF) da un trasferimento in modalità ASCII o da un ponte di chat che ha riscritto il file come testo
- Un marcatore di fine IEND assente o malformato in un file i cui dati immagine sono per il resto completi
Non può riparare
- Le righe sotto il taglio in uno screenshot troncato: quei pixel non sono mai stati scritti e nessuno strumento può inventarli
- Le righe dell'immagine sotto un colpo a metà flusso in IDAT: il flusso compresso non può risincronizzarsi, quindi tutto ciò che segue è rumore
- Uno screenshot che un servizio di chat o un editor ha ricodificato dopo il danno: i pixel sbagliati sono ormai incisi dentro
- Uno screenshot a scorrimento / 'cattura di più' la cui unione è fallita così gravemente che non è stato scritto alcun fotogramma completo
- Un file che si legge come 0 byte o tutti zeri: non c'è alcuna immagine da ricostruire (quello è un lavoro di recupero dati, non una riparazione)
Se una riparazione fallisce, ti diciamo perché (dati mancanti rispetto a struttura danneggiata), e non ti viene mai addebitato nulla per una riparazione fallita.