Toon posts:

Animated gif creeren met PHP

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een project voor een onderschrift op een forum en daar wil ik animated gifje gebruiken. De afbeeldingen wisselen elk uur dus ik wil elk uur met een cronjob een php bestand laden die de animatie maakt. De cronjob is het probleem niet, het maken van een animated gif echter wel.

Ik heb het programma ImageMagick geinstalleerd met SSH en correct aangestuurd met exec(); shell_exec(); en system(); Ik heb het laten checken door m'n host en volgens hun was het correct. Volgens anderen die het programma gebruiken was het ook goed.

Ik heb het opgegeven om het met ImageMagick te proberen. Mijn vraag nu dus: hoe kan ik drie PNG bestanden (1.png, 2.png en 3.png) met php samenvoegen tot een animated gif?

  • Wacky
  • Registratie: Januari 2000
  • Laatst online: 16-08 22:19

Wacky

Dr. Lektroluv \o/

Post eens wat code van je ImageMagick poging, wellicht zit er toch een klein foutje in en hoef je helemaal geen andere oplossing te zoeken ... Wat heb je verder zelf al geprobeerd met PHP en waar loop je hier vast?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-08 12:58

NMe

Quia Ego Sic Dico.

III. Create the GIF animation file from the individual GIF files.

* On Unix workstations and Windows PCs that have ImageMagick installed this can be done with the

convert -adjoin -delay 5 *.gif animation-name.gif
Wat werkt daar niet aan dan?

Verder heeft dit niet veel met programmeren te maken, maar met het gebruik van software. Ik verplaats je topic dan ook naar Software Algemeen.

PW>>SA

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Ik had dit:

code:
1
2
3
4
<?php
$command = "convert -dispose background -delay 500 -page +0+0 1.png -page +0+0 2.png -page +0+0 3.png sign.gif";
system("/home/username/" .$command);
?>


Dit is volgens m'n host goed en het staat goed geinstalleerd. Ik heb ook een commando geprobeerd dat als voorbeeld op de site stond maar zelfs dat werkte niet. De map waarin het opgeslagen moet worden is gechmod naar 777.

(Heb even m'n username uit eruit gehaald)

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 12:26

RM-rf

1 2 3 4 5 7 6 8 9

http://www.cit.gu.edu.au/...hics/imagick6/animations/

convert zou goed moeten werken ..

word de output niet in /home/username/ opgeslagen?, of juist in de php scripting directory?
verder moet je execute rehten hebben op convert (waarom staat dat niet gewoon in /usr/bin/?)

[ Voor 72% gewijzigd door RM-rf op 21-10-2005 23:04 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-08 12:58

NMe

Quia Ego Sic Dico.

Ik mis adjoin in je commando?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Dat is volgens mij niet verplicht aangezien mijne bij iemand anders wel werkte. Ik zal zo even proberen :)

  • Stainless Steel
  • Registratie: Februari 2002
  • Niet online
Wat er gebeurd is dat je script /home/username/convert aanroept. De . tussen "/home/username/" en $command plakt de boel namelijk aan elkaar. Mogelijk dat je het volgende kan proberen:
system("cd /home/username/; " .$command);

Je gaat dan eerst naar je home directory, en vervolgens voer je $command uit.

Waarom doe je dit trouwens in php, je kan dit ook gewoon in een shell scriptje zetten, of desnoods meteen uit cron draaien

Verwijderd

Topicstarter
De code die ik nu heb:

code:
1
2
3
4
<?php
$command = "convert -adjoin -delay 500 *.png sign.gif";
system("cd /home/username/; " .$command);
?>


Doet niets.

  • Stainless Steel
  • Registratie: Februari 2002
  • Niet online
mischien moet je het pad naar conver volledig uitschrijven, dus iets van /usr/X11R6/bin/convert

Verwijderd

Topicstarter
Roestvrij Staal schreef op vrijdag 21 oktober 2005 @ 23:13:
mischien moet je het pad naar conver volledig uitschrijven, dus iets van /usr/X11R6/bin/convert
Heb ik ook geprobeerd, op de site van ImageMagick stond /usr/local/bin/convert en die werkte niet. Het is een DirectAdmin systeem dus misschien kan iemand mij de correcte vertellen?

  • Stainless Steel
  • Registratie: Februari 2002
  • Niet online
Op mijn systeem (slackware) is het /usr/X11R6/bin/convert. heb je geen shell toegan, dan kan je met het comando which kijken waar het staat

Verwijderd

Topicstarter
Roestvrij Staal schreef op vrijdag 21 oktober 2005 @ 23:19:
Op mijn systeem (slackware) is het /usr/X11R6/bin/convert. heb je geen shell toegan, dan kan je met het comando which kijken waar het staat
Op dit moment zit ik toch op SSH, hoe zou ik kunnen kijken hoe dat bij mij zit?

  • Stainless Steel
  • Registratie: Februari 2002
  • Niet online
met het commando which dus:
which convert
Pagina: 1