PHP Classes

How i can generate a gif file ?

Recommend this page to a friend!

      Move Me GIF  >  All threads  >  How i can generate a gif file ?  >  (Un) Subscribe thread alerts  
Subject:How i can generate a gif file ?
Summary:Generate image.gif
Messages:6
Author:Alexandru Geo
Date:2017-04-13 19:47:21
 

  1. How i can generate a gif file ?   Reply   Report abuse  
Picture of Alexandru Geo 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

  2. Re: How i can generate a gif file ?   Reply   Report abuse  
Picture of Patrick Van Bergen 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

  3. Re: How i can generate a gif file ?   Reply   Report abuse  
Picture of Alexandru Geo 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());

  4. Re: How i can generate a gif file ?   Reply   Report abuse  
Picture of Alexandru Geo 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

  5. Re: How i can generate a gif file ?   Reply   Report abuse  
Picture of Patrick Van Bergen 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

  6. Re: How i can generate a gif file ?   Reply   Report abuse  
Picture of Alexandru Geo 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 ,