Radz Jurnall
Radz Jurnall

Reputation: 77

How do edit animated GIF image with GD?

I use this function to update an animated GIF image, but GD is rendering it as static?

function draw_image ()

  {

    $img=imagecreatefromgif('images/moni.gif');

    $text='test';
    $lastpayout='test'; 
    $colors['name'] = imagecolorallocate($img, 999, 000, 156);
    ImageTTFText($img, 9, 0, 20, 235, $colors['name'], "images/impact.ttf", $text);
    ImageTTFText($img, 9, 0, 20, 250, $colors['name'],"images/tahoma.ttf",$lastpayout);
    ImageTTFText($img, 10, 0, 15, 270, $colors['name'], "images/tahoma.ttf", $text);
    header("Content-type: image/gif");
    imagegif($img);
  }

echo  draw_image ();

This function converts the animated GIF into a static GIF. Can anyone help me?

Upvotes: 1

Views: 1548

Answers (2)

nice ass
nice ass

Reputation: 16729

If you can use imagick:

$gif = new Imagick('full/path/to/your/image.gif');

$draw = new ImagickDraw();    
$draw->setFont('full/path/to/your/font.ttf');
$draw->setFontSize(30);
$draw->setFillColor('white');

// put text on each frame
foreach($gif as $frame){
  $gif->annotateImage($draw, $x = 10, $y = 45, $angle = 0, 'Your text');         
}    

header('Content-Type: image/gif');
print $gif->getImagesBlob();

Upvotes: 2

Maxim Khan-Magomedov
Maxim Khan-Magomedov

Reputation: 1336

GD doesn't support animated GIFs. You can try imagick.

Upvotes: 1

Related Questions