Pregunta

Estoy usando ImageMagick para cambiar el tamaño de los archivos cargados, pero mientras están procesando, quiero mostrar una rueda GIF giratoria al usuario donde normalmente sería la miniatura.Sirvo alrededor de 7 tamaños de pulgares y me gustaría que la rueda permanezca en su tamaño de 32x32 en el medio, ese es el poco simple.

Lo que necesito saber es, ¿puedo hacer lo anterior al tiempo que conserva la animación

Ejemplo:

Esta imagen: esta imagen

comenzando a este tamaño este tamaño

con animación

¿Fue útil?

Solución

Hay una solución en PHP Witch I Uso para Watermark GIF imágenes animadas .... Crea un Bacground Black Bacground en él y luego coloca la marca de agua ...

watermarkpath = 'path to wathermarkimage.jpg|gif|png';
$imagepath= 'path to the image';     
$watermark = new Imagick($watermarkpath);
 $GIF = new Imagick();
 $GIF->setFormat("gif");

$animation = new Imagick($imagepath);
foreach ($animation as $frame) {

    $iWidth = $frame->getImageWidth();
    $iHeight = $frame->getImageHeight();
    $wWidth = $watermark->getImageWidth();
    $wHeight = $watermark->getImageHeight();

    if ($iHeight < $wHeight || $iWidth < $wWidth) {
        // resize the watermark
        $watermark->scaleImage($iWidth, $iHeight);

        // get new size
        $wWidth = $watermark->getImageWidth();
        $wHeight = $watermark->getImageHeight();
    }

    $bgframe = new Imagick();
    $bgframe->newImage(($iWidth), ($iHeight + 80), new ImagickPixel('Black'));
    $bgframe->setImageDelay($frame->getImageDelay());


    $x = ($iWidth) - $wWidth - 5;
    $y = ($iHeight + 80) - $wHeight - 5;


    $bgframe->compositeImage($frame, imagick::COMPOSITE_DEFAULT, 0, 0);
     $bgframe->flattenImages();
    $bgframe->compositeImage($watermark, imagick::COMPOSITE_OVER, $x, $y);
     $bgframe->flattenImages();
    $GIF->addImage($bgframe);
}



$GIF->writeimages($imagepath,true);

Otros consejos

Echa un vistazo a este violín, puede contener lo que desea: http://jsfiddle.net/tgdfb/1/

utiliza jquery, pero debe ser fácilmente adaptable ...

terminó haciendo esto manualmente por Photoshop después de no poder encontrar una forma automática de hacer esto a través de ImageMagick.Encontré la bandera 'Coalesce' pero no mucho más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top