GD imagemerge probleem
Wat ik heb geprobeerd is om een klein GD scriptje in elkaar te zetten maar het wil niet echt werken.
De werking van het script zou als volgt moeten zijn: De grootte van het plaatje word bepaald, daarna wordt daar 20 bij opgeteld zodat er links en rechts van het plaatje 10 pixels over zijn. Aan de bovenkant moeten er ook 10 pixels tussen zitten en aan de onderkant 40 omdat daar een tekst komt.
Wat ik nu heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?PHP
// Plaatje
$source_image = imagecreatefromgif('testje.gif'); // Plaatje creeren
$source_size = getimagesize('testje.gif'); // Grootte van het plaatje verkrijgen
$source_width = $source_size[0]; // Breedte van het plaatje
$source_height = $source_size[1]; // Hoogte van het plaatje
// Nieuwe grootte maken
$newimg_width = $source_width + 20; // Nieuwe breedte maken (10 pixels groter aan elke kant)
$newimg_height = $source_height + 50; // Nieuwe hoogte maken (10 pixels groter aan de bovenkant, 40 aan de onderkant)
// Nieuwe achtergrond maken
$newimg = imagecreatetruecolor($newimg_width, $newimg_height); // Plaatje maken
$newimg_bgc = imagecolorallocate($newimg, 255, 255, 255); // Kleur voor achtergrond selecteren (wit)
$newimg_tc = imagecolorallocate($newimg, 0, 0, 0); // Kleur van text (zwart)
$newimg_fillbg = imagefilledrectangle($newimg, 0, 0, $newimg_width, $newimg_height, $newimg_bgc); // Achtergrond met wit vullen
// Tekst op plaatje
$newimg_font = "Arial"; // Font kiezen
$newimg_imgtext = "Imagetext here"; // Tekst dat op het plaatje moet komen
$newimg_addbgtext = imagettftext($new_image, 10, 0, 20, ($source_height+20), $newimg_tc, $newimg_font, $newimg_imgtext); // Tekst toevoegen op plaatje
// Probleem ?
$final_image = imagecopymerge($newimg, $source_image, 10, 10, 0, 0, $source_width, $source_height, 50);
//
header("Content-Type: image/gif"); // Header toevoegen
$echo_image = imagegif($final_image); // Plaatje (GIF) weergeven
?>
<img src="<?=$echo_image;?>" alt="image" />
// Plaatje
$source_image = imagecreatefromgif('testje.gif'); // Plaatje creeren
$source_size = getimagesize('testje.gif'); // Grootte van het plaatje verkrijgen
$source_width = $source_size[0]; // Breedte van het plaatje
$source_height = $source_size[1]; // Hoogte van het plaatje
// Nieuwe grootte maken
$newimg_width = $source_width + 20; // Nieuwe breedte maken (10 pixels groter aan elke kant)
$newimg_height = $source_height + 50; // Nieuwe hoogte maken (10 pixels groter aan de bovenkant, 40 aan de onderkant)
// Nieuwe achtergrond maken
$newimg = imagecreatetruecolor($newimg_width, $newimg_height); // Plaatje maken
$newimg_bgc = imagecolorallocate($newimg, 255, 255, 255); // Kleur voor achtergrond selecteren (wit)
$newimg_tc = imagecolorallocate($newimg, 0, 0, 0); // Kleur van text (zwart)
$newimg_fillbg = imagefilledrectangle($newimg, 0, 0, $newimg_width, $newimg_height, $newimg_bgc); // Achtergrond met wit vullen
// Tekst op plaatje
$newimg_font = "Arial"; // Font kiezen
$newimg_imgtext = "Imagetext here"; // Tekst dat op het plaatje moet komen
$newimg_addbgtext = imagettftext($new_image, 10, 0, 20, ($source_height+20), $newimg_tc, $newimg_font, $newimg_imgtext); // Tekst toevoegen op plaatje
// Probleem ?
$final_image = imagecopymerge($newimg, $source_image, 10, 10, 0, 0, $source_width, $source_height, 50);
//
header("Content-Type: image/gif"); // Header toevoegen
$echo_image = imagegif($final_image); // Plaatje (GIF) weergeven
?>
<img src="<?=$echo_image;?>" alt="image" />
Volgens mij ligt het probleem bij het samenvoegen van de plaatjes (merge) maar weet het niet zeker.
Alvast bedankt voor jullie hulp!
Jeroen
PS. Het enige wat er nu weergegeven word is: http://ip/image.php (-afbeelding).
*edit*
Nu krijg ik: De afbeelding “http://jeroen.lan/foto/test.php” kan niet worden weergegeven, omdat hij fouten bevat.
Maar weet nog steeds niet wat ik fout doe :(
Gewijzigd op 01/01/1970 01:00:00 door Jeroen
Nu krijg ik: De afbeelding “http://jeroen.lan/foto/test.php” kan niet worden weergegeven, omdat hij fouten bevat.
Maar weet nog steeds niet wat ik fout doe :(
dit mis je nog, dat wordt het echt een plaatje..
er staat toch al imagegif? dat kan toch ook ? :)