[PHP] Funktion zur Bilderstellung will nicht?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von gh0stm4k3r, 31. Dezember 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 31. Dezember 2009
    Funktion zur Bilderstellung will nicht?

    Hi,
    Ich sitze seit heute an einem Script, das mir einen bestimmten Schriftzug in einer bestimmten Schriftart auf ein Bild schreiben soll. Das Problem ist, dass der Schriftzug weder in der Mitte (horizontal) ist, noch dass die Schriftgrösse stimmt (der Schriftzug wird immer viel zu gross). Woran könnte das liegen?

    PHP:
    <? php
    function  centerimagestring ( $image $image_width $string $font_size $y $color $font )
     {
     
    $angle  0 ;
     
    $position  imagettfbbox ( $font_size $angle $font $string );
     
    $text_width  $position [ 4 ]- $position [ 6 ];
     
    $center  ceil ( $image_width  2 );
     
    $x  $center  - ( ceil ( $text_width / 2 ));
     
    imagettftext ( $image $text_width $angle $x $y $color $font $string );
     }

    $url  'bin/avatar.png'
    $text  'Blablabla'
    $fontpath  'bin/04b_09.ttf'

    $ctext  strtoupper ( $text );
    $picture  imagecreatefrompng ( $url );
    $white  imagecolorallocate  ( $picture 255 255 255 );
    $black  imagecolorallocate  ( $picture 0 0 0 );
     
    header ( "Content-type: image/png" );

    centerimagestring ( $picture 140 $ctext 5 20 $white $fontpath );
    imagepng  ( $picture );
    imagedestroy  ( $picture );

    ?>
    Danke für eure Hilfe... Ich verzweifle echt daran.

    MfG
     
  2. 2. Januar 2010
    AW: Funktion zur Bilderstellung will nicht?

    Die Parameter für imagettftext richtig übergeben dann sollte es funktionieren:

    imagettftext($image, $text_width, $angle, $x, $y, $color, $font, $string);
    imagettftext($image, $font_size, $angle, $x, $y, $color, $font, $string);

    PS: Gestallte deinen Code übersichtlicher, dann tauchen sollche Fehler nicht auf.

    Mfg RUshh0ur
     
  3. 2. Januar 2010
    AW: Funktion zur Bilderstellung will nicht?

    Ok, funktioniert so, dankeschön. Weiss zufälligerweise noch jemand, wie ich einen sauberen 1px Rand um den Schriftzug mache? Bisher habe ich das "manuell" gemacht, was nicht bei allen Schriftzügen gleich gut aussieht...

    PHP:
    centerimagestring ( $picture $image_width + 2 $text $font_size $y $black $fontpath );
    centerimagestring ( $picture $image_width - 2 $text $font_size $y $black $fontpath );
    centerimagestring ( $picture $image_width $text $font_size $y + 1 $black $fontpath );
    centerimagestring ( $picture $image_width $text $font_size $y - 1 $black $fontpath );
    centerimagestring ( $picture $image_width $text $font_size $y $white $fontpath );
    MfG
     
  4. 2. Januar 2010
    AW: Funktion zur Bilderstellung will nicht?

    Du willste eine Kontur um den Text machen?

    Versuch mal anstatt mehrmals den Text verschoben zu zeichnen die Font Größe um eins zu erhöhen:
    Code:
    centerimagestring($picture, $image_width, $text, [B]$font_size+1, $y-1[/B], $black, $fontpath);
    centerimagestring($picture, $image_width, $text, $font_size, $y, $white, $fontpath);
    
    Hab aber jetzt keine Ahnung ob es nur 1px ist oder mehr, musst mal ausprobieren.

    //Edit:
    http://www.html.de/php/15773-text-auf-grafik-schreiben-soll-kontur-haben.html:
    Ok wird wohl mit meiner Methode nicht gehen es sei den du willst jeden Buchstaben einzenl Zeichnen, deine ist wohl da die beste.


    Mfg Rushh0ur
     
  5. 5. Januar 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Funktion zur Bilderstellung will nicht?

    Ich mache jetzt mal nicht extra ne Thread auf aber ich habe zu der ganzen sache auch mal eine frage

    ich will für eine tuning seite von meim kumpel ne nettes funktion basteln

    unzar soll der user in seinem profil sein nummerschild eingeben können und das ganze wird dann später im profil als bild angezeigt (im prinzip wie bei motor-talk forum)

    hat jemand ne plan wie ich das ganze realisieren kann???
    problem ist ja auch das nicht alle nummernschilder gleichlang sind manche haben
    1 Buschstanden für die kreisstadt, manche 2 oder 3

    das selbige wäre dann bei den buchhstaben vor den zahlen mache 1 manche 2
    und zahlen gehen glaube bis 4 somit kann man ja das image (png) nicht definieren wie groß das ist

    hier mal ein beispile aus dem motor-talk forum Bild
     
  6. 5. Januar 2010
    AW: Funktion zur Bilderstellung will nicht?

    @ronny
    Und wo genau liegt das Problem?
    Die GD-Library bietet doch alle Funktionen die du dafür brauchst. Auch wenn die Länge unterschiedlich ist kannste ja davor je nach dem wie du es umsetzt zB. die Funktionen imagettfbbox, imagesx bzw. imagesy und/oder getimagesize verwenden um die Resultierende Bilddgröße auszurechnen, zu erstellen, "zu bemahlen" und schliesslich auszugeben.

    Mfg Rushh0ur
     
  7. 5. Januar 2010
    AW: Funktion zur Bilderstellung will nicht?

    okay danke für den tip habe mich mal ran gesetzt

    denke das es klappen sollte wie ich es jetzt gemacht habe nur jetzt habe ich das problem das er mir das kennzeichen nicht aus der SQL spalte auslesen tut
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.