2012-03-01 30 views
7

Me gustaría obtener una imagen GIF de la red, pero descubrí que si descargo la imagen GIF completa, provocará mucho tráfico de red.Obtener el primer fotograma de una imagen GIF sin descargar todos los demás fotogramas

¿Puedo obtener solo el primer fotograma de una imagen GIF sin descargar todos los demás cuadros?

+0

Me encantaría saber la razón para rechazar una pregunta totalmente válida. –

+0

Usando la biblioteca desde este enlace: https://github.com/dragon66/icafe, sería tan fácil como una llamada de línea: ImageIO.getReader (ImageType.GIF) .getFrameAsBufferedImage (InputStream es) o ImageIO.getReader (ImageType. GIF) .read (InputStream es). El tipo de devolución sería una Imagen Buffered de Java. – dragon66

Respuesta

0

Bueno, no he encontrado solución lista para usar, pero se puede hacer de esta manera (que va a dar lugar a algunos trucos "de bajo nivel"):

Siguiendo wiki about GIFs, archivos GIF animados pueden dividirse en marcos, y el final del marco se puede reconocer fácilmente. Por lo tanto, deberá leer el encabezado GIF, la información de la pantalla, la información sobre la animación en el búfer, descargar el primer fotograma y anexar información como GIF ("3B" después del artículo de la wiki). Y, si copia estos datos en otro archivo, podrá continuar la descarga de todo el archivo sin volver a descargar el primer fotograma.

También puede editar la información del encabezado para formatear el primer fotograma en gif estático.

+0

muchas gracias. Estoy trabajando en eso. – ctsu

+0

Hola actualizaciones sobre este –

Cuestiones relacionadas