AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] imagestring() bzw. imagettftext() und externe Fornts
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] imagestring() bzw. imagettftext() und externe Fornts

Ein Thema von jensw_2000 · begonnen am 1. Jun 2006 · letzter Beitrag vom 1. Jun 2006
Antwort Antwort
jensw_2000
(Gast)

n/a Beiträge
 
#1

[PHP] imagestring() bzw. imagettftext() und externe Fornts

  Alt 1. Jun 2006, 09:25
Hi,

könnt ihr mal jemand einen Blick auf meine mail2image Funktion werfen ?
Sie funktioniert problemlos (lokal und beim ISP), wenn ich imagestring() mit den eingebetteten Standard-Fonts verwende. Das generierte PNG gefällt mir aber nicht, weil bei den 5 engebetteten Fonts aber keine serifenlose Schrift mit einer Höhe von 10 Pixeln dabei ist, und die Schrift des Images nicht zu meinem Design passt.

Jetzt habe ich folgende Möglichkeiten gefunden, um eigene Schriften zu verwenden:
1. TTF
Code:
   $font = '../styles/fonts/verdana.ttf';
   imagettftext($img, 10, 0, 2, 11, $color['fg'], $font, $mail);
und
2. GDF
Code:
   $font = '../styles/fonts/8x13iso.gdf';
   imagestring($img,imageloadfont($font),0,0,$mail,$color['fg']);
Beide Varianten funktionieren auf meinem lokalen Appache problemlos.
Wenn ich den Code jedoch auf dem Webserver meines ISP's verwende, wird die Schrift scheinbar nicht gerendert.
Die Funktion erzeugt nur transparente PNG's .

Ich bin, was PHP betrifft, noch ziemlich grün hinter den Ohren. Falls ihr eine Idee habt, oder eventuell eine bessere Möglichkeit kennt, dann immer her damit .

Code:
function mail2image($user)
{
    $userDomain = "@meinedomain.de";

    // Email zusammensetzen
    $mail = $user.$userDomain;

    // Breite kalkulieren
    $width = 8 * strlen($mail);
   
    //Bild erzeugen
    $img = imagecreate($width, 15); // pro Buchstabe 8px breit und 13px hoch
   
    //Hintergrundfarbe definieren
    $color['hg'] = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
   
    //Vordergrundfarbe definieren
    $color['fg'] = imagecolorallocate($img, 0x00, 0x00, 0x66);
   
    //Text auf $img schreiben
   
    // Test mit den embedded GD-Fonts > funktioniert lokal UND beim ISP
    imagestring($img,4,0,0,$mail,$color['fg']);
   
    // Problem!
    //
    // Test TTF > funktioniert auf meinem lokalen System, aber nicht beim ISP :o(
    // $font = '../styles/fonts/verdana.ttf';
    // imagettftext($img, 10, 0, 2, 11, $color['fg'], $font, $mail);
    // 
    // Test GDF > funktioniert auf meinem lokalen System, aber nicht beim ISP :o(
    // $font = '../styles/fonts/8x13iso.gdf';
    // imagestring($img,imageloadfont($font),0,0,$mail,$color['fg']);
    //
    // Ende Problem!

    //Hintergrundfarbe entfernen (transparent)
    imagecolortransparent($img, $color['hg']);
   
    //PNG erzeugen
    header("Content-type: image/png");
    imagepng($img);
    imagedestroy($img);
}


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: [PHP] imagestring() bzw. imagettftext() und externe Forn

  Alt 1. Jun 2006, 09:38
Kommt irgendeine Warnung/Notice oder so ?
(vll. beim IIS unterdrückt ?)

Einfach ein error_reporting(E_ALL); vorne hin

Btw.: FreeTypeLibrary installiert ?
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#3

Re: [PHP] imagestring() bzw. imagettftext() und externe Forn

  Alt 1. Jun 2006, 10:56
Zitat von jfheins:
Kommt irgendeine Warnung/Notice oder so ?
(vll. beim IIS unterdrückt ?)

Einfach ein error_reporting(E_ALL); vorne hin

Btw.: FreeTypeLibrary installiert ?
Fehler kommen keine.

Laut phpinfo() fehlt beim ISP der Freetype Support. Das wirds dann wohl sein oder ?
Habe ich eine Möglichkeit das "dynamisch" einzubinden oder muss ich darauf warten, das der ISP irgendwann mal die FreeType-Lib installiert ?
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#4

Re: [PHP] imagestring() bzw. imagettftext() und externe Forn

  Alt 1. Jun 2006, 13:14
@jfheins

Ich habe mit meinem ISP telefoniert. Der Supporter meinte, das ich mein Webspace nur von PHP4 auf PHP5 umstellen muss, weil der ISP dort die FreeType-Library mit eingebunden hat.
Also... rein in den Web-Konfigurator, PHP5 eingestellt und ... Es geht

Danke für den Tip.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: [PHP] imagestring() bzw. imagettftext() und externe Forn

  Alt 1. Jun 2006, 13:21
Na dann ist ja alles wunderbar

Das mit FreeType-Library stand übrigens auf der PHP-Doku-Seite
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz