Pregunta

Digamos que tengo un sitio web Flash donde puedes crear un avatar y algo de movimiento.

¿Hay alguna manera de guardarlos en un GIF animado con un lenguaje del lado del servidor? (se prefiere php)

He mirado alrededor y todo lo que tengo son formas de hacerlo con el software Flash. ¿Alguien ha intentado esto?

Gracias de antemano.

¿Fue útil?

Solución

Prueba:

AS3 Animación GIF Codificación Clase 0.1 [por Thibault Imbert]

http://www.bytearray.org/?p=93

Otros consejos

Pregunta interesante. Debería ser posible enviar los cuadros de la animación como bitmapdata al servidor y ensamblar un gif animado en el servidor. Es probable que desee que la animación sea bastante corta y que la resolución sea bastante baja para que esto funcione bien.

Algunos puntos de partida:

Depende exactamente de cómo creas el avatar en Flash. Por coincidencia, mi grupo desarrolló una aplicación de demostración que hace exactamente eso. Se llama FunIcons , puede seleccionar un personaje y luego crear un animación dibujando una ruta en la cara con el mouse (presione y mantenga presionado el botón del mouse para hacerlo), y luego haciendo clic en "Guardar" , obtendrá un gif animado con la secuencia que acaba de trazar.

El truco es simple: un script PHP en el lado del servidor toma la secuencia de archivos GIF que construyen la animación, y construye un GIF animado a partir de ellos. Aquí está el script en sí:

<?php
    header ("Content-type: image/gif");
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
    header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
    header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    header ("Pragma: no-cache");                          // HTTP/1.0
    header ("Content-Disposition: attachment; filename=\"funicons.gif\"");

    require_once "GifBuilder/GIFEncoder.class.php";

    $path = "http://" . 

Depende exactamente de cómo creas el avatar en Flash. Por coincidencia, mi grupo desarrolló una aplicación de demostración que hace exactamente eso. Se llama FunIcons , puede seleccionar un personaje y luego crear un animación dibujando una ruta en la cara con el mouse (presione y mantenga presionado el botón del mouse para hacerlo), y luego haciendo clic en "Guardar" , obtendrá un gif animado con la secuencia que acaba de trazar.

El truco es simple: un script PHP en el lado del servidor toma la secuencia de archivos GIF que construyen la animación, y construye un GIF animado a partir de ellos. Aquí está el script en sí:

<*>SERVER["HTTP_HOST"] .

Depende exactamente de cómo creas el avatar en Flash. Por coincidencia, mi grupo desarrolló una aplicación de demostración que hace exactamente eso. Se llama FunIcons , puede seleccionar un personaje y luego crear un animación dibujando una ruta en la cara con el mouse (presione y mantenga presionado el botón del mouse para hacerlo), y luego haciendo clic en "Guardar" , obtendrá un gif animado con la secuencia que acaba de trazar.

El truco es simple: un script PHP en el lado del servidor toma la secuencia de archivos GIF que construyen la animación, y construye un GIF animado a partir de ellos. Aquí está el script en sí:

<*>SERVER["PHP_SELF"]; $i = strrpos($path, "/"); $path = substr($path, 0, $i+1); $images = split(",",

Depende exactamente de cómo creas el avatar en Flash. Por coincidencia, mi grupo desarrolló una aplicación de demostración que hace exactamente eso. Se llama FunIcons , puede seleccionar un personaje y luego crear un animación dibujando una ruta en la cara con el mouse (presione y mantenga presionado el botón del mouse para hacerlo), y luego haciendo clic en "Guardar" , obtendrá un gif animado con la secuencia que acaba de trazar.

El truco es simple: un script PHP en el lado del servidor toma la secuencia de archivos GIF que construyen la animación, y construye un GIF animado a partir de ellos. Aquí está el script en sí:

<*>REQUEST["images"]); $prevUrl = ""; while (list ($key, $val) = each($images)) { if (substr($val, 0, strlen($path)) == $path) $val = substr($val, strlen($path)); if ($val == $prevUrl) { $delay[count($delay)-1] += 10; } else { $frames[] = file_get_contents($val); $delay[] = 10; $prevUrl = $url; } @set_time_limit(30); } $gif = new GIFEncoder ( $frames, $delay, 0, 2, -1, -1, -1, "bin" ); print($gif->GetAnimation()); ?>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top