gdlib - ohne Funktion - Servereinstellungen?

Watusimann

Erfahrenes Mitglied
Guten Abend,

Habe ein wenig mit gdlib "rumgespielt" und wollte dies jetzt auch uploaden, nur leider zeigt er mir die Grafiken nicht an.

Servereinstellungen:
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

Local (xampp) läuft dies wunderbar, allerdings nicht im Netz. Bei diesen Einstellungen sieht das für mich aus, als wäre die Möglichkeit gegeben - oder gibt es noch andere Dinge die es nicht ermöglichen, gd anzuwenden?

Vielen Dank schon mal vorab
 
Den Einstellungen nach sollte die GD Lib verfügbar sein.
Gibt es irgendwelche Fehlermeldungen?

Greifst du richtig auf die Bilder zu?
Ich hatte schon das Problem dass ich im Script sowas stehen hatte: $HTTP_POST_FILES,
was der Xampp auch verstanden hat - aber im WWW musst ich via $_FILES zugreifen.
 
zugreifen auf die Datei habe ich folgendermaßen gelöst:
PHP:
<img src="pics/<?php echo $section.".php"; ?>">

und das Script sieht folgenermaßen aus:
PHP:
<?php
header('Content-type: image/png');
$text            = 'dener-sound.welcome';
$fontfile        = 'xirodf';
$fontsize        = 20;
$fontangle        = 0;
$textfield        = imagettfbbox($fontsize, $fontangle, $fontfile, $text);
$text_size_x      = (abs($textfield[4] - $textfield[0]) + 4);
$text_size_y      = (abs($textfield[1] - $textfield[7]) + 0);
$text_pos_x      = 0;
$text_pos_y      = ($text_size_y - 0);
$new_picture      = imagecreate($text_size_x, $text_size_y);
$background_color = imagecolorallocate($new_picture, 255, 255, 255);
$text_color      = imagecolorallocate($new_picture, 192, 192,  192);
imagefill($new_picture, 0, 0, $background_color);
imagettftext($new_picture, $fontsize, $fontangle, $text_pos_x, $text_pos_y, $text_color, $fontfile, $text);
imagepng($new_picture);
imagedestroy($new_picture);
?>

Eigentlich fast 1:1 aus einem Tutorial kopiert, auch wenn ich direkt auf die Datei zugreife, funktioniert es nicht.

Problemkind -> http://www.dener-sound.de/webentwurf/pics/welcome.php

oder ist dies eine falsche Zugriffsvariante?
 
Zuletzt bearbeitet:
Die Fehlermeldungen sind doch recht offensichtlich:
Code:
<br />
<b>Warning</b>:  imagettfbbox(): Could not find/open font in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>7</b><br />
<br />
<b>Warning</b>:  imagecreate(): Invalid image dimensions in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>12</b><br />
<br />

<b>Warning</b>:  imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>13</b><br />
<br />
<b>Warning</b>:  imagecolorallocate(): supplied argument is not a valid Image resource in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>14</b><br />
<br />
<b>Warning</b>:  imagefill(): supplied argument is not a valid Image resource in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>15</b><br />

<br />
<b>Warning</b>:  imagettftext(): supplied argument is not a valid Image resource in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>16</b><br />
<br />
<b>Warning</b>:  imagepng(): supplied argument is not a valid Image resource in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>17</b><br />
<br />

<b>Warning</b>:  imagedestroy(): supplied argument is not a valid Image resource in <b>/home/www/web18/html/webentwurf/pics/welcome.php</b> on line <b>18</b><br />

Der erste Fehler besagt, dass die angegebene Schriftdatei nicht gefunden wurde. Alle darauffolgenden Meldungen resultieren draus.
 
Hallo,

Muß ich nicht die ttf in den Ordner kopieren, wo die dementsprechende "Bilddatei" ausgelesen wird? Denn dort verweilt sie ... ich habe nichts davon gelesen, daß nur spezielle Fontarten gelesen bzw. benutzt werden können.
 
Hallo!

Ich gehe davon aus dass $fontfile deine Schriftendatei sein soll?!
Hast Du auf korrekte Gross/Kleinschreibung geachtet?
Hat die Schrift im Script auch die Dateiendung? (hier wird ja einfach das . t t rausgeschnitten, liegt wohl an den ungern gesehenen Domains)
Ansonsten, bei korrekter Schreibweise der Schrift, funtioniert das Script sowohl unter Windows, als auch unter Linux (auch als normaler User und safe_mode=on).
Wo die Schrift liegt ist egal, so lange die Pfadangabe stimmt und ggf. entsprechende Zugriffsrechte auf das Verzeichnis bestehen, packe sie also einfach mit in den Ordner wo auch das Script liegt.

Gruss Dr Dau
 
Zuletzt bearbeitet:
Hmm, ich habe mal ein wenig rumprobiert.
Wenn ich irgend welche Funktionen in der php.ini deaktiviere kommt eine ganz andere Meldung, dass kann es also auch nicht sein.
Allerdings bekomme ich die gleiche Meldung wie bei dir, wenn die Schriftdatei nicht min. CHMOD 0444 oder höher hat.
Wenn Du sie mit einem FTP-Clienten hochgeladen hast, sollte sie aber eigentlich standardmässig CHMOD 0644 haben (also ausreichend).
 
So funktionierts ...

PHP:
<?php
Header ("Content-type: image/gif");
$im = imagecreate (400, 30);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 20, 0, 10, 20, $white, "/home/www/webxxx/html/arialf",
             "Hallo, Text...");
ImageGif ($im);
ImageDestroy ($im);
?>
:-)
 
Zuletzt bearbeitet:
Zurück