Ik ben wat aan het experimenteren geslagen met MagickWand, nu lukt het mij met behulp van de volgende code een leuke animated gif te laten zien:
Nu werkt dit dus door het laden van andere afbeeldingen, tot dusver geen probleem.
Maar je voelt 'm al aankomen: ik wil zelf afbeeldingen tekenen en in hetzelfde script (dus mbv. een "buffer") het spul als een animated gif outputten.
Nu is er een manual, maar ik zie door de bomen het bos niet meer.
Nu had ik al zoiets geprobeerd:
Maar dat resulteert in een afbeelding waar twee tekstjes over elkaar heenstaan.
Er zijn talloze functies, maar er is vrijwel niks aan code voorbeelden op internet te vinden, al helemaal niet over animated gifs. Enig idee hoe ik dit wél voor elkaar krijg ?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <?php $img = NewMagickWand(); MagickReadImage($img, "frame1.jpg"); MagickSetImageDelay($img, 50); MagickReadImage($img, "frame2.jpg"); MagickSetImageDelay($img, 50); MagickReadImage($img, "frame3.jpg"); MagickSetImageDelay($img, 50); MagickSetFormat($img, "GIF"); //zorg voor het juiste formaat header("Content-Type: image/gif"); //zorg voor de juiste headers MagickEchoImagesBlob($img); //output het geheel ?> |
Nu werkt dit dus door het laden van andere afbeeldingen, tot dusver geen probleem.
Maar je voelt 'm al aankomen: ik wil zelf afbeeldingen tekenen en in hetzelfde script (dus mbv. een "buffer") het spul als een animated gif outputten.
Nu is er een manual, maar ik zie door de bomen het bos niet meer.
Nu had ik al zoiets geprobeerd:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?php $img = NewMagickWand(); MagickNewImage($img,250,250,"#FFFFFF"); $frame1 = NewDrawingWand(); DrawAnnotation($frame1,50,50,"Frame 1"); MagickDrawImage($img,$frame1); //inhoud van $frame1 naar $img schrijven MagickSetImageDelay($img, 50); //pauze van een halve sec $frame2 = NewDrawingWand(); DrawAnnotation($frame2,50,50,"Frame 2"); MagickDrawImage($img,$frame2); //inhoud van $frame2 naar $img schrijven MagickSetImageDelay($img, 50); //pauze van een halve sec MagickSetFormat($img, "GIF"); //zorg voor het juiste formaat header("Content-Type: image/gif"); //zorg voor de juiste headers MagickEchoImagesBlob($img); //output het geheel ?> |
Maar dat resulteert in een afbeelding waar twee tekstjes over elkaar heenstaan.
Er zijn talloze functies, maar er is vrijwel niks aan code voorbeelden op internet te vinden, al helemaal niet over animated gifs. Enig idee hoe ik dit wél voor elkaar krijg ?