| 
 | 
  Alexandru Geo - 2017-04-13 19:47:21  
Hi , i'm trying to generate a gif file but i don't know how to do it , i tried with file_put_contents but the file is size 0.. nothing generated 
  
  Patrick Van Bergen - 2017-04-13 20:43:10 -  In reply to message 1 from Alexandru Geo 
Hi Alexandru, 
 
The builder class has a saveToFile() function. 
 
Can you try something like this: 
 
use movemegif\domain\FileImageCanvas; 
use movemegif\GifBuilder; 
 
// just for debugging 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 
 
// include movemegif's namespace 
require_once __DIR__ . '/../php/autoloader.php'; 
 
// no width and height specified: they will be taken from the first frame 
$builder = new GifBuilder(); 
$builder->setRepeat(); 
 
for ($i = 1; $i <= 8; $i++) { 
 
    $builder->addFrame() 
        ->setCanvas(new FileImageCanvas(__DIR__ . '/horse/' . $i . '.png')) 
        ->setDuration(8); 
} 
 
$builder->saveToFile('horse.gif'); 
 
 
 
If that doesn't help, show me some of your code. 
 
greetings, 
 
Patrick 
  
  Alexandru Geo - 2017-04-13 21:33:38 -  In reply to message 2 from Patrick Van Bergen 
Thank you for your time and answer , i found another way to do it, or is quiet similar ,  
 
file_put_contents('image.gif', $builder->getContents()); 
 
your solutions is better !  
 this is a part of code 
 
$builder = new GifBuilder(200, 200); 
$builder->setRepeat(); 
 
// background image 
$builder->addFrame() 
    ->setCanvas(new FileImageCanvas(__DIR__ . '/14937240_1232839050105927_2392147432229343625_n.jpg')) 
	->setDuration(100); 
	 
	 
 
// dogs runs from left to the right 
$imageIndex = 0; 
for ($x = -140; $x <= 480; $x += 10) { 
 
    $builder->addFrame() 
        // load single frame from GIF file, and autodetect transparency color 
        ->setCanvas(new FileImageCanvas(__DIR__ . '/faza1/' . $imageIndex . '.gif')) 
        // number of 1/100 seconds per frame 
        ->setDuration(5) 
        // position this frame on the bottom half of the image 
        // when done painting one frame of the dog, restore the state to just before the dog was drawn 
        ->setDisposalToOverwriteWithPreviousFrame() 
    ; 
 
    // next dog image 
    if (++$imageIndex == 26) { 
        $imageIndex = 0; 
    } 
} 
 
$builder->output(); 
file_put_contents('imagine.gif', $builder->getContents()); 
  
  Alexandru Geo - 2017-04-13 22:19:07 -  In reply to message 1 from Alexandru Geo 
Is any chance to make transition effects between two images ? something like cross fade between images ? 
 
EXAMPLE:http://apps.jra.ro/new/bun/example/efect.php 
 
  
  Patrick Van Bergen - 2017-04-14 06:02:23 -  In reply to message 4 from Alexandru Geo 
That would be nice :) 
 
No plans for such a thing at the moment, but I'll keep it in mind. 
 
greets, 
 
Patrick 
  
  Alexandru Geo - 2017-04-15 09:20:54 -  In reply to message 5 from Patrick Van Bergen 
Other think, if you gonna include this file , whick one generate the gif animation you will have problems with the header response , you can check on https://validator.w3.org/ the response will be 500 , and you cand add something like header("HTTP/1.1 200 OK"); 
http_response_code(201); to change de response ,  
  
   |