PHP: Bild zentriert in größeres Bild kopieren

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Tiffany Dicks, 4. September 2015 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 4. September 2015
    tl,tr; Ich brauche ein Bild mit einer Größe von 400x400 Pixeln mit weißen Balken oben und unten, die höhe dieser Balken hängt vom einzufügenden Text ab der aus mehreren Zeilen bestehen kann. Zwischen den zwei Balken soll Bild 2 kopiert werden welches ein Beitragsbild aus einem Blog ist.
    Wünschenswert wäre es wenn dieses Bild so resized wird das es die Lücke perfekt ausfüllt, andernfalls soll es mittig von der Mitte sein sprich

    Balken mit Textzeilen
    BILD
    Balken mit Textzeilen

    Egal was passiert das Bild darf bei max 400x400 pixeln bleiben. Achso Schriftgröße ist 23 px font art mehr oder weniger egal bzw steht weiter unten. Ein Balken hat max. 3 Zeilen Text intus.

    Hi,

    ich hab folgendes Problem.

    Ich soll ein 400x400 großes Bild in white erzeugen. Wenige Probleme.

    PHP:
    $im  imagecreatetruecolor ( 400 400 );
                    
    $white  imagecolorallocate ( $im 255 255 255 );
    Folgendes soll bewerkstelligt werden.

    Oben soll sowas stehen wie zum Beispiel (ist dynamisch)

    Das hier ist ein komischer Text. Du wirst gar nicht glauben wie komisch er ist. Text 18 hat mich echt schockiert. (! automatischer Umbruch wenn die 400 px erreicht sind)

    Auch wenig Probleme. Code weniger schön.

    PHP:
    $words  explode ( " " $name );
                    
    $wnum  count ( $words );
                    
    $line  '' ;
                    
    $text  '' ;
                    
                    for(
    $i = 0 $i < $wnum $i ++){
                      
    $line  .=  $words [ $i ];
                      
    $dimensions  imagettfbbox ( 16 0 DOCROOT . DS . 'assets/font/arialbd.ttf' $line );
                      
    $lineWidth  $dimensions [ 2 ] -  $dimensions [ 0 ];
                      if (
    $lineWidth  400 ) {
                        
    $text .=( $text  !=  ''  '|' . $words [ $i ]. ' '  $words [ $i ]. ' ' );
                        
    $line  $words [ $i ]. ' ' ;
                      }
                      else {
                        
    $text .= $words [ $i ]. ' ' ;
                        
    $line .= ' ' ;
                      }
                    }
                    
                    
    $lines  explode ( '|' $text );
                    
    $lines  array_map ( 'trim' $lines );

    Mit

    PHP:
    $col  imagecolorallocate ( $img2 119 , 119 , 119 );
                    foreach(
    $lines  as  $id  =>  $line )
                    {
                        
    imagettftext ( $img2 16 0 4 , ( $id + 1 )* 16 $col DOCROOT . DS . 'assets/font/arialbd.ttf' $line );
                    }
    bekomme ich die zeilen auf das bild.

    Die Abstände stimmen nicht unbedingt perfekt bzw überhaupt nicht.

    Jetzt stehe ich auf nem Schlauch und wäre echt froh wenn jemand Lösungsideen hätte. Eventuell hat jemand mehr Erfahrungen mit Image Manipulation ich hab sie nämlich in meinen 11 Jahren PHP und Co nicht sammeln können.

    Wie bekomme ich ein Bild das dann in ne ressource geladen wird hier drunter kopiert? imagecopyresampled, imagecopy gibt so viel. das bild soll die lücke
    optimal ausfüllen

    hiernach folgt wie oben ein weiterer balken, was ich hinbekommen sollte wenn ich es auch oben hinbekommen habe

    Bin dankbar für jede hilfe
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.