Unisci gli screenshot di una chat

Carica le schermate scattate scorrendo la conversazione: lo strumento trova la parte che si ripete fra una e l'altra e la tiene una volta sola, con la barra in alto e il campo per scrivere una volta sola. Se fra due schermate manca un pezzo, te lo dice invece di inventarlo.

Tocca qui, trascina le schermate o incollale con Ctrl+V
Le schermate restano nel tuo browser: non vengono caricate da nessuna parte, e nemmeno l'immagine unita.

Quando serve, e perché impilarle non basta

Le schermate di una conversazione servono quando la conversazione deve uscire dal telefono: l'accordo preso in chat con il padrone di casa, il preventivo arrivato su WhatsApp, l'ordine che il venditore dice di non aver mai ricevuto. Chi le riceve non vuole dodici immagini da aprire una alla volta: vuole leggere dall'alto in basso, come sul telefono.

Molti telefoni hanno lo screenshot lungo, ma non dappertutto: su Android l'acquisizione a scorrimento funziona solo nelle app che la permettono, e sull'iPhone la «pagina intera» c'è in Safari e salva un PDF, non un'immagine.

Metterle una sotto l'altra, che è il mestiere di Unisci immagini, qui peggiora le cose: ogni schermata ripete la fine della precedente, e in mezzo alla conversazione tornano ogni volta l'orologio, il nome del contatto e il campo per scrivere. Questa pagina trova il punto in cui due schermate si sovrappongono e cuce lì.

Come trova il punto in cui si sovrappongono

Quando scorri, il contenuto si sposta e le barre no: fra due schermate vicine c'è una fascia di righe uguale, solo più in alto nella seconda. Lo strumento confronta la fine della prima con l'inizio della seconda spostandola una riga alla volta, e cerca lo spostamento in cui la fascia in comune combacia tutta, da un bordo all'altro. Le barre, ferme, restano fuori dal conto da sole.

Una riga non si confronta pixel per pixel ma per fino a 96 bande verticali, la luminosità media di ciascuna: il margine regge il rumore di un JPEG a qualità 80 e non confonde due righe di testo diverse. E si provano solo gli spostamenti in cui almeno tre righe di contorno (il bordo di un fumetto, una riga di testo) combaciano già: così, a 1080 per 2340 pixel, una giunzione si trova in pochi centesimi di secondo.

La cucitura cade a metà della parte in comune, lontano dai bordi. In cima resta la barra della prima schermata, con il suo orologio, e in fondo quella dell'ultima: una volta sola ciascuna. Se non le vuoi, togli la spunta e restano solo i messaggi.

Nelle prove una chat finta viene tagliata in schermate con sovrapposizioni decise in anticipo: con i PNG l'immagine unita deve essere identica pixel per pixel all'originale, con i JPEG alta esattamente uguale, perché una riga di troppo in una giunzione sposta tutto quello che viene dopo.

Lo sfondo uniforme, dove i pixel non dicono niente

Il caso difficile non è il testo, è il vuoto. Una zona di sfondo tutta uguale combacia con se stessa a qualunque spostamento: se la parte in comune fra due schermate è fatta solo di sfondo, i pixel non possono dire di quanto si sovrappongono, e un programma che sceglie comunque sceglie a caso.

Per questo non si contano le righe che combaciano, ma le righe che cambiano e combaciano: il bordo di un fumetto, una riga di testo, un orario. Nelle prove c'è una coppia con 45 righe di messaggio e 365 di sfondo in comune: ogni spostamento allinea sfondo con sfondo, ma solo quello giusto fa combaciare anche il messaggio.

Se in comune c'è solo sfondo, lo strumento lo dice e attacca le due schermate con una riga di separazione ben visibile, invece di scegliere; lo stesso quando manca davvero un pezzo, perché da fuori i due casi non si distinguono. Con una foto come sfondo della chat, ferma mentre i messaggi scorrono, le righe non combaciano mai e le giunzioni vanno regolate a mano; lo sfondo a disegnini tenui o a sfumatura, invece, non dà fastidio.

Messaggi ripetuti, quando combacia più di una giunzione

L'altro inganno sono le righe identiche. Con cinque «Ok, a dopo!» uguali di fila, la fine di una schermata combacia con l'inizio della successiva in più punti, uno per messaggio: nessun confronto di pixel può sapere quale sia quello vero.

Il caso più subdolo è il messaggio mandato due volte, identico ma con l'orario diverso di un minuto. Mettendo una copia sull'altra combaciano tutte le righe del messaggio, finché non arriva l'orario che non torna; la giunzione vera magari ha in comune solo la coda di un fumetto, ma combacia tutta. Per questo una riga che smentisce una giunzione conta come prova contraria, e vince quella che nessuna riga smentisce. Nelle prove ci sono 120 coppie così, scattate in ogni punto attorno ai due messaggi, più 60 coppie di una pagina di negozio con lo stesso riquadro in ogni scheda: nessuna viene cucita male in silenzio.

Quando i pixel davvero non bastano la giunzione è incerta: per prima c'è quella che combacia da un bordo all'altro, e sotto le altre da provare. E se anche la migliore ha qualche riga che non torna, per esempio per una notifica comparsa sopra una schermata, non la chiama trovata: la segna da controllare e ne mostra l'anteprima.

Ogni giunzione ha anche la regolazione a mano, una riga alla volta o dieci alla volta. Serve anche quando lo strumento non trova niente ma tu sai che le due schermate si sovrappongono: alzi la parte in comune finché nell'anteprima le frasi non si ricuciono, e la riga di separazione sparisce.

Quando manca un pezzo, o l'ordine è sbagliato

Le schermate si mettono in fila per nome, anche quelle aggiunte dopo: per i telefoni è l'ordine in cui sono state scattate. Le frecce cambiano l'ordine, e se una giunzione combacia solo al contrario l'avviso ti dice di scambiarle; se sono tutte al contrario, perché le hai scattate risalendo la chat, basta un tocco su «Inverti l'ordine». La stessa schermata caricata due volte (capita, con l'orologio avanti di un minuto) viene saltata.

Quando due schermate non hanno niente in comune la riga di separazione resta nell'immagine, grigio scuro con un tratteggio bianco, così chi legge vede che lì manca un pezzo e non pensa che la conversazione continui senza interruzioni.

Immagini lunghissime e i limiti del browser

Una chat lunga diventa un'immagine altissima, e un browser non disegna immagini alte quanto si vuole: Chrome, Edge e Firefox arrivano a 32.767 righe, Safari, e con lui ogni browser dell'iPhone e dell'iPad, a 16.384 righe e 16,7 milioni di pixel, cioè circa 15.500 righe per una schermata larga 1080. La pagina usa il tetto del browser che hai; oltre, l'immagine esce in più parti, tagliate su una riga di solo sfondo fra un messaggio e l'altro.

Il formato è il PNG, che non perde niente ed è leggero con le chat, fatte di colori pieni. Se nella conversazione ci sono foto il PNG si gonfia: sopra i 10 MB l'immagine esce in JPEG di qualità alta, e la pagina lo dice.

Quello che non fa

Non legge il testo. L'immagine unita resta un'immagine: per copiare le parole della conversazione serve Estrai testo da immagine. Non nasconde niente: se nelle schermate ci sono numeri di telefono, indirizzi o nomi da coprire prima di mandarle, passa prima da Copri i dati in una schermata. E non fa collage di foto affiancate, che è il mestiere di Unisci immagini.

Non manda niente in rete. Le schermate si aprono e si cuciono dentro il browser: non c'è un server che le riceva. Se la conversazione deve diventare un PDF da allegare, l'immagine si trasforma con Immagini in PDF.