Lettertype GD images aanpassen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels B

Niels B

14/08/2010 11:31:13
Quote Anchor link
Ik werk op mn site dus met GD afbeeldingen, nu wil ik daar het lettertype van aanpassen. Dit is mijn normale code;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<?php


// We need to grab an adoptable ID

$id = $_GET["id"];
$id = preg_replace("/[^a-zA-Z0-9s]/", "", $id);
$id = secure($id);

// Check that ID exists and is valid

if(is_numeric($id)){

// The ID appears to be valid, so double check...

$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'";
$result = mysql_query($query);
$num = mysql_numrows($result);

//Loop out code
$i=0;
while ($i < 1) {

$aid=@mysql_result($result,$i,"aid"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$owner=@mysql_result($result,$i,"owner");

$i++;
}


if($aid == $id){

// The adoptable exists, so let's try and show the image

$usingimage = "no";

$image = getcurrentimage($id);

    // Let's see if the server has support for GD or not
    // Also to use fancy images the image must be a gif and fancy images must be enabled...


    $usegd = grabanysetting("gdimages");
    $imageinfo = @getimagesize($image);
    $imagemime = $imageinfo["mime"]; // Mime type of the image file, should be a .gif file...

    if(function_exists('imagegif') and $usegd == "yes" and $imagemime == "image/gif")
    {


    $usingimage = "yes"; //Turn the template system off

    // BEGIN NEW CODE


    list($width, $height, $type, $attr) = getimagesize($image); // The size of the original adoptable image

    // Begin the fancy outputs...

    // Lets create the new target image, with a size big enough for the text for the adoptable


    $newheight = $height + 60;

    if($newwidth < 100){
    $newwidth = 100;
    }

    else{
    $newwidth = $width;
    }


      $img_temp = imagecreatetruecolor($newwidth, $newheight);


      $alphablending = true;  


        // Lets create the image and save its transparency  
      $img_old = @imagecreatefromgif($image);  
      imagealphablending($img_old, true);  
      imagesavealpha($img_old, true);
  
     // Lets copy the old image into the new image with  
     // the given size  

     ImageCopyResampled(  
         $img_temp,  
         $img_old,  
         0, 0, 0, 0,  
         $width,  
         $height,  
         $width,  
         $height  
     );  
  
    
    $textheight = $width + 2;

    $image = $img_temp;

    $bgi = imagecreatetruecolor($newwidth, $newheight);

    $color = imagecolorallocate($bgi, 51, 51, 51);


    $str1 = " ".$name;
    $str2 = "Level ".$totalclicks;


    imagestring ($image, 12, 0, $textheight,  $str1, $color);
    imagestring ($image, 12, 0, $textheight + 13,  $str2, $color);

    $background = imagecolorallocate($image, 0, 0, 0);  
      ImageColorTransparent($image, $background);  
 
    header("Content-Type: image/GIF");
    ImageGif ($image);
    imagedestroy($image);
    imagedestroy($img_temp);
    imagedestroy($img_old);
    imagedestroy($bgi);

    }

    else{
    
    // We are going to try and get this image the old fashioned way...
    // Define a list of allowed file extentions...


    $extList = array();
    $extList['gif'] = 'image/gif';
    $extList['jpg'] = 'image/jpeg';
    $extList['jpeg'] = 'image/jpeg';
    $extList['png'] = 'image/png';

    //Define the output file type
    $contentType = 'Content-type: '.$extList[ $imageinfo['extension'] ];

    if($imageinfo['extension'] =! "image/gif" and $imageinfo['extension'] =! "image/jpeg" and $imageinfo['extension'] =! "image/png"){

    // The file type is NOT ALLOWED
    die("Hacking Attempt!");

    }

    else{

    // File type is allowed, so proceed
    // Try and read the file in


    $status = "";

    header ($contentType);
    $status = readfile($image);

    if($status == "" or $status == "false" or $status == "FALSE"){

    // Reading the file failed, so show an error...    
    header ("text/plain");
    die("Readfile appears to be disabled on your host.");

    }
    


    }

    }


}

else{

// Bogus ID

$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;


}
}

else{

// Bogus ID

$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;

}




?>


Ik plaats dit;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$font = imageloadfont("adoptables/fonts/arial.gdf");

Boven dit;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
imagestring ($image, 12, 0, $textheight,  $str1, $color);

Maar als ik dit doe verschijnt er gewoon niks! Waar moet het dan wel staan :S?
Ik mag ook enkel .gdf lettertype's gebruiken.
 
PHP hulp

PHP hulp

19/04/2024 01:25:21
 
Pieter Jansen

Pieter Jansen

14/08/2010 14:08:27
Quote Anchor link
Klopt het pad wel helemaal dan? Het lijkt me dat Arial toch wel gebruikt kan worden.

Weet je zeker dat je $font er in staat? In je opgegeven code staat nergens iets over $font..
 
- Raoul -

- Raoul -

14/08/2010 14:10:22
Quote Anchor link
Je kan geen fonts gebruiken in imagestring (denk ik)
Kijk liever eens naar een betere manier imagettftext
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.