Une capturas de un chat
Carga las capturas que hiciste desplazando la conversación: la herramienta encuentra la parte que se repite entre una y la siguiente y la deja una sola vez, con la barra de arriba y el campo para escribir una sola vez. Si entre dos capturas falta un trozo, te lo dice en lugar de inventárselo.
Cuándo hace falta, y por qué apilarlas no basta
Las capturas de una conversación hacen falta cuando la conversación tiene que salir del móvil: el acuerdo cerrado por chat con el casero, el presupuesto que llegó por WhatsApp, el pedido que el vendedor dice no haber recibido nunca. Quien las recibe no quiere doce imágenes para abrir una a una: quiere leer de arriba abajo, como en el móvil.
Muchos móviles tienen la captura con desplazamiento, pero no en todas partes: en Android la captura larga solo funciona en las apps que la permiten, y en el iPhone la «página completa» existe en Safari y guarda un PDF, no una imagen.
Ponerlas una debajo de otra, que es el trabajo de Unir imágenes, aquí empeora las cosas: cada captura repite el final de la anterior, y en medio de la conversación vuelven cada vez el reloj, el nombre del contacto y el campo para escribir. Esta página encuentra el punto en que dos capturas se solapan y cose ahí.
Cómo encuentra el punto en que se solapan
Cuando desplazas, el contenido se mueve y las barras no: entre dos capturas vecinas hay una franja de filas iguales, solo que más arriba en la segunda. La herramienta compara el final de la primera con el principio de la segunda desplazándola fila a fila, y busca el desplazamiento en que la franja común encaja entera, de un borde al otro. Las barras, quietas, quedan fuera de la cuenta solas.
Una fila no se compara píxel a píxel sino en hasta 96 bandas verticales, el brillo medio de cada una: el margen aguanta el ruido de un JPEG a calidad 80 y no confunde dos líneas de texto distintas. Y solo se prueban los desplazamientos en que al menos tres filas de contorno (el borde de un bocadillo, una línea de texto) ya coinciden: así, a 1080 por 2340 píxeles, una unión se encuentra en pocas centésimas de segundo.
La costura cae en mitad de la parte común, lejos de los bordes. Arriba queda la barra de la primera captura, con su reloj, y abajo la de la última: una sola vez cada una. Si no las quieres, quita la marca y quedan solo los mensajes.
En las pruebas un chat falso se corta en capturas con solapes decididos de antemano: con PNG la imagen unida tiene que ser idéntica píxel a píxel al original, con JPEG exactamente igual de alta, porque una fila de más en una unión desplaza todo lo que viene después.
El fondo liso, donde los píxeles no dicen nada
El caso difícil no es el texto, es el vacío. Una zona de fondo toda igual coincide consigo misma en cualquier desplazamiento: si la parte que comparten dos capturas es solo fondo, los píxeles no pueden decir cuánto se solapan, y un programa que elige de todas formas elige al azar.
Por eso no cuenta las filas que coinciden, sino las filas que cambian y coinciden: el borde de un bocadillo, una línea de texto, una hora. En las pruebas hay un par con 45 filas de mensaje y 365 de fondo en común: cualquier desplazamiento alinea fondo con fondo, pero solo el correcto hace coincidir también el mensaje.
Si lo común es solo fondo, la herramienta lo dice y une las dos capturas con una línea de separación bien visible, en lugar de elegir; lo mismo cuando falta de verdad un trozo, porque desde fuera los dos casos no se distinguen. Con una foto como fondo del chat, quieta mientras los mensajes se desplazan, las filas nunca coinciden y las uniones hay que ajustarlas a mano; un fondo de dibujitos tenues o degradado, en cambio, no molesta.
Mensajes repetidos, cuando encaja más de una unión
La otra trampa son las filas idénticas. Con cinco «¡Vale, hasta luego!» iguales seguidos, el final de una captura coincide con el principio de la siguiente en varios puntos, uno por mensaje: ninguna comparación de píxeles puede saber cuál es el verdadero.
El caso más traicionero es el mensaje enviado dos veces, idéntico pero con la hora un minuto distinta. Poniendo una copia sobre la otra coinciden todas las filas del mensaje, hasta que llega la hora que no cuadra; la unión verdadera quizá solo comparte la cola de un bocadillo, pero encaja entera. Por eso una fila que desmiente una unión cuenta como prueba en contra, y gana la que ninguna fila desmiente. En las pruebas hay 120 pares así, hechos en todos los puntos alrededor de los dos mensajes, más 60 pares de una página de tienda con el mismo recuadro en cada ficha: ninguno se cose mal en silencio.
Cuando los píxeles de verdad no bastan la unión es dudosa: primero va la que encaja de un borde al otro, y debajo las otras para probar. Y si hasta la mejor tiene alguna fila que no cuadra, por ejemplo por una notificación encima de una captura, no la da por encontrada: la marca para revisarla y enseña su vista previa.
Cada unión tiene además el ajuste a mano, de fila en fila o de diez en diez. Sirve también cuando la herramienta no encuentra nada pero tú sabes que las dos capturas se solapan: subes la parte común hasta que en la vista previa las frases se vuelven a coser, y la línea de separación desaparece.
Cuando falta un trozo, o el orden está mal
Las capturas se ponen en fila por nombre, también las añadidas después: para los móviles es el orden en que se hicieron. Las flechas cambian el orden, y si una unión solo encaja al revés el aviso te dice que las intercambies; si están todas al revés, porque las hiciste subiendo por el chat, basta un toque en «Invertir el orden». La misma captura cargada dos veces (pasa, con el reloj un minuto por delante) se salta.
Cuando dos capturas no comparten nada la línea de separación se queda en la imagen, gris oscuro con un discontinuo blanco, para que quien la lee vea que ahí falta un trozo y no piense que la conversación sigue sin interrupciones.
Imágenes larguísimas y los límites del navegador
Un chat largo se convierte en una imagen altísima, y un navegador no dibuja imágenes tan altas como uno quiera: Chrome, Edge y Firefox llegan a 32.767 filas, Safari, y con él todos los navegadores del iPhone y del iPad, a 16.384 filas y 16,7 millones de píxeles, es decir unas 15.500 filas para una captura de 1080 de ancho. La página usa el techo del navegador que tienes; más allá, la imagen sale en varias partes, cortadas en una fila de solo fondo entre un mensaje y el siguiente.
El formato es PNG, que no pierde nada y es ligero con los chats, hechos de colores planos. Si en la conversación hay fotos el PNG se hincha: por encima de 10 MB la imagen sale en JPEG de calidad alta, y la página lo dice.
Lo que no hace
No lee el texto. La imagen unida sigue siendo una imagen: para copiar las palabras de la conversación hace falta Imagen a texto. No esconde nada: si en las capturas hay números de teléfono, direcciones o nombres que tapar antes de mandarlas, pasa antes por Tapa datos en una captura. Y no hace collages de fotos una al lado de otra, que es el trabajo de Unir imágenes.
No manda nada por la red. Las capturas se abren y se cosen dentro del navegador: no hay ningún servidor que las reciba. Si la conversación tiene que convertirse en un PDF para adjuntar, la imagen se transforma con Imágenes a PDF.