# Analizador APNG de bloques IDAT/fdAT, replay deflate y métodos de disposición con temporización de fotogramas

Sube un PNG/APNG y analiza su estructura de animación: firma PNG y verificación CRC32 por bloque, IHDR (profundidad/tipo de color/entrelazado), acTL (número de fotogramas y reproducciones, debe preceder al primer IDAT), fcTL (número de secuencia, restricción de región x+y+w+h ≤ lienzo, normalización delay_num/delay_den, dispose_op none/background/previous, blend_op source/over), primer fotograma IDAT + fotogramas fdAT; los números de secuencia compartidos fcTL+fdAT deben crecer de 1 en 1 desde 0; se reproduce el flujo deflate de cada fotograma comprobando que el tamaño descomprimido = alto × (1 + bytes por fila) y se informa del zlib dañado; la simulación de disposal avisa de un previous en el primer fotograma (se trata como background), fotogramas con retardo cero, etc.

> Página canónica: https://elysiatools.com/es/tools/apng-idat-fdat-chunk-streaming-deflate-replay-and-disposal-method-analyzer

- **Categoría:** Compression

- **Palabras clave:** APNG, PNG animado, fcTL, fdAT, acTL, dispose op, blend op, chunks PNG, CRC32, replay deflate, temporización

## Descripción general

Sigue la especificación comunitaria APNG de Mozilla: acTL debe preceder a cualquier IDAT y num_frames debe igualar el número de fcTL (0 no es válido); cada fotograma tiene exactamente un fcTL, y si la imagen por defecto es el primer fotograma su fcTL debe ir antes del primer IDAT con región completa (0,0,W,H); fcTL y fdAT comparten el mismo espacio de números de secuencia, consecutivos desde 0 sin duplicados, y el desorden se trata como error; delay_den = 0 cuenta como 100 (centésimas de segundo) y delay_num = 0 significa renderizar el siguiente fotograma cuanto antes; un dispose_op previous en el primer fotograma se trata como background. El flujo comprimido de cada fotograma es la concatenación de sus IDAT (o fdAT sin los 4 bytes de secuencia) y debe descomprimirse a h×(1+ceil(w×bpp/8)) incluido el byte de filtro por línea. El CRC32 por bloque y la integridad zlib se informan por separado, junto con la tabla de fotogramas, duración/fps, ratio de compresión, histograma de chunks y la auditoría semántica de dispose/blend.

## Entradas

- **Archivo PNG / APNG (≤20 MB)** (file): sample-apng-3frame.png
- **Reproducir y verificar los flujos deflate IDAT/fdAT** (checkbox)

## Cuándo usarlo

- Al diagnosticar errores de renderizado o parpadeos en animaciones APNG en navegadores y motores de juegos.
- Para verificar la integridad estructural de flujos zlib y sumas CRC32 tras procesar imágenes con optimizadores.
- Al auditar secuencias de chunks (fcTL/fdAT), límites de coordenadas en el lienzo y configuraciones de dispose_op y blend_op.

## Cómo funciona

- Carga el archivo binario PNG/APNG (hasta 20 MB) y analiza los encabezados iniciales IHDR y acTL.
- Valida la numeración compartida y correlativa de secuencias fcTL y fdAT desde el valor 0, detectando saltos o desórdenes.
- Calcula y compara el CRC32 de cada bloque con los datos declarados en el archivo.
- Ejecuta de forma opcional la descompresión deflate por fotograma para confirmar que el tamaño coincide con la geometría calculada.

## Casos de uso

- Control de calidad en pipelines de exportación gráfica para stickers animados y recursos de interfaz.
- Depuración técnica de suites de compresión de imágenes que generan chunks APNG personalizados.
- Auditoría de consistencia de fotogramas, fps totales y tiempos de retardo por frame en animaciones complejas.

## Preguntas frecuentes

### ¿Qué ocurre si acTL aparece después del primer chunk IDAT?

Se marca como error de especificación, ya que el bloque acTL debe ubicarse obligatoriamente antes de cualquier chunk IDAT.

### ¿Cómo se interpreta un valor delay_den igual a 0 en un fotograma?

La especificación normaliza automáticamente un denominador de retardo 0 a 100 centésimas de segundo.

### ¿Qué efecto tiene configurar dispose_op en previous para el primer fotograma?

El analizador y los motores de renderizado tratan dispose_op previous en el primer fotograma como equivalente a background.

### ¿Qué valida la opción de reproducir y verificar flujos deflate?

Descomprime los datos zlib de cada fotograma (IDAT/fdAT) y comprueba que la longitud coincida exactamente con alto × (1 + bytes por fila).

### ¿Cuál es el tamaño máximo de archivo PNG/APNG admitido?

La herramienta acepta archivos individuales con un límite de hasta 20 MB.

## Herramientas relacionadas

- [Extractor de paleta de color desde imagen](https://elysiatools.com/es/tools/image-color-palette-extractor): Sube una imagen, extrae colores dominantes y exporta tokens listos para codigo con verificacion de contraste
- [Detector de Contenido de Imagen NSFW](https://elysiatools.com/es/tools/nsfw-image-detector): Detector de seguridad de contenido de imagen basado en IA usando NSFWJS con análisis de respaldo, soportando GIF/Animated WebP/APNG y JPEG/PNG/WEBP.
- [Convertidor por lotes de imagenes a WebP](https://elysiatools.com/es/tools/image-to-webp-batch-converter): Convierte imagenes o imagenes dentro de un ZIP a WebP y devuelve un ZIP
- [Convertir JPEG a PNG](https://elysiatools.com/es/tools/jpg-to-png): Convierte imágenes JPEG a formato PNG con soporte de transparencia y compresión sin pérdida
- [Convertir PNG a PNG de 8 bits](https://elysiatools.com/es/tools/png-to-8bit-png): Convierte imágenes PNG a profundidad de color de 8 bits para tamaño de archivo más pequeño y mejor compatibilidad
- [Convertir PNG a AVIF](https://elysiatools.com/es/tools/png-to-avif): Convierte imágenes PNG a formato AVIF con compresión de próxima generación y superior relación calidad-tamaño
- [Convertir PNG a PNG Optimizado](https://elysiatools.com/es/tools/png-to-optimized-png): Convierte imágenes PNG a formato PNG optimizado con configuraciones de compresión avanzadas y preservación de calidad
- [Convertir PNG a TIFF](https://elysiatools.com/es/tools/png-to-tiff): Convierte imágenes PNG a formato TIFF con opciones de compresión y preservación de alta calidad

## Ejemplos

- [Ejemplos de Procesamiento de Imágenes Web Python](https://elysiatools.com/es/samples/web-image-processing-python): Ejemplos de procesamiento de imágenes Web Python usando PIL/Pillow incluyendo lectura, guardado, redimensionamiento y conversión de formato
- [Ejemplos PNG](https://elysiatools.com/es/samples/png-samples): Imágenes PNG de muestra en diferentes relaciones de aspecto y resoluciones
- [Muestras PNG](https://elysiatools.com/es/samples/png-viewer-samples): Imágenes de muestra para el visor PNG en el navegador
- [Ejemplos de Procesamiento de Imágenes Web Go](https://elysiatools.com/es/samples/web-image-processing-go): Ejemplos de procesamiento de imágenes Web Go incluyendo lectura/escritura, redimensionamiento y conversión de formato
