Afbeelding genereren en opslaan probleem
Cedric
18/09/2007 14:41:00Hallo,
Ik heb het volgende script, waarmee ik op een afbeelding tekst kan zetten.
Maar nu wil ik dat ipv de afbeelding wordt getoond, deze afbeelding wordt opgeslagen in een bepaalde directory, hoe moet ik dit script dan aanpassen?
Alvast bedankt.
Script:
Ik heb het volgende script, waarmee ik op een afbeelding tekst kan zetten.
Maar nu wil ik dat ipv de afbeelding wordt getoond, deze afbeelding wordt opgeslagen in een bepaalde directory, hoe moet ik dit script dan aanpassen?
Alvast bedankt.
Script:
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
31
32
33
34
35
36
37
38
39
40
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
31
32
33
34
35
36
37
38
39
40
<?php
// Maak een PNG header
header("Content-type: image/png");
// Kopieer het plaatje van een reeds bestaand bestandje
$plaatje = ImageCreateFromGIF("kop.gif");
$kleur = "6c6256";
$kleurR = hexdec(substr($kleur, 0, 2));
$kleurG = hexdec(substr($kleur, 2, 2));
$kleurB = hexdec(substr($kleur, 4, 2));
$kleur = imagecolorallocate($plaatje, $kleurR,$kleurG,$kleurB);
// Zoek hoe breed en hoe hoog de tekst gaat worden
if (!isset($text)) $text = stripslashes($_GET[tekst]);
$font = "font.otf";
$box = ImageTTFBBox(20, 0, $font, $text);
$hoogte = $box[1] - $box[7];
$breedte = $box[2] - $box[0];
// Bereken de "default" coordinaten
$x_coordinaat = $box[0];
$y_coordinaat = $hoogte - $box[1];
// Bereken nu de verschuiving die nodig is om de tekst de centreren
$offset_x = 8;
$offset_y = 3;
// Teken de tekst
ImageTTFText($plaatje, 20, 0,
$x_coordinaat + $offset_x,
$y_coordinaat + $offset_y,
$kleur, $font, $text);
// Schrijf de ouput weg
ImagePNG($plaatje);
ImageDestroy($plaatje);
?>
// Maak een PNG header
header("Content-type: image/png");
// Kopieer het plaatje van een reeds bestaand bestandje
$plaatje = ImageCreateFromGIF("kop.gif");
$kleur = "6c6256";
$kleurR = hexdec(substr($kleur, 0, 2));
$kleurG = hexdec(substr($kleur, 2, 2));
$kleurB = hexdec(substr($kleur, 4, 2));
$kleur = imagecolorallocate($plaatje, $kleurR,$kleurG,$kleurB);
// Zoek hoe breed en hoe hoog de tekst gaat worden
if (!isset($text)) $text = stripslashes($_GET[tekst]);
$font = "font.otf";
$box = ImageTTFBBox(20, 0, $font, $text);
$hoogte = $box[1] - $box[7];
$breedte = $box[2] - $box[0];
// Bereken de "default" coordinaten
$x_coordinaat = $box[0];
$y_coordinaat = $hoogte - $box[1];
// Bereken nu de verschuiving die nodig is om de tekst de centreren
$offset_x = 8;
$offset_y = 3;
// Teken de tekst
ImageTTFText($plaatje, 20, 0,
$x_coordinaat + $offset_x,
$y_coordinaat + $offset_y,
$kleur, $font, $text);
// Schrijf de ouput weg
ImagePNG($plaatje);
ImageDestroy($plaatje);
?>