Thumbnail füllen mit Farbe Weiß.

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Thumbnail füllen mit Farbe Weiß.

    Hallöle alle zusammen
    Bin quasi Grün hinter den Ohren was Foren betrifft, da es bis Dato eigentlich nie nötig war sich in einem anzumelden, da meine Fragen meist über google beantwortet wurden.

    Aber nun ecke ich an, das ich einfach nicht mehr weiter weiss

    Und zwar habe ich mir eine kleine Webgallery mit Adminbereich gebastelt, es funktioniert so weit auch alles wunderbar.

    Nun bin ich allerdings auf ein Problem gestossen wofür ich absolut keine Lösung finde.

    Zunächst mal der PHP Code (Diesen hab ich von einem Tutorial ...http://larsmichelsen.com/php/archiv-...rose-und-rand/).

    PHP-Code:
       <?PHP 
    //Dateipfad unter die Bilder liegen 
    $pfad './'
    //Dateiname des Ursprungsbildes 
    $bild 'bild.gif'
    //Dateiname des Thumbnails 
    $thumb 'bild_thumb.gif'
      
    //Welche Breite soll das finale Thumbnail haben? 
    $resWidth 128
    //Welche Höhe soll das finale Thumbnail haben? 
    $resHeight 96
      
    //Wenn die Datei nicht existiert... 
    if(!file_exists($pfad.$bild)) 

        
    //Ausgeben einer Fehlermeldung und Beenden des Scriptes 
        
    die('Die angegebene Datei existiert nicht.'); 

      
     
    //Aulesen der Höhe,Breite und des Dateityps des Bildes 
    $size getimagesize($pfad.$bild); 
     
    //Das erste Element des Arrays $size beinhaltet die Breite 
    $width $size['0']; 
     
    //Das zweite Element des Arrays $size beinhaltet die Höhe 
    $height $size['1']; 
     
    //Das zweite Element des Arrays $size beinhaltet den Typ 
    $typ $size['2']; 
      
    switch(
    $typ

        
    //Wenn das Bild ein GIF ist... 
        
    case 1
            
    //Erstellen des ursprünglichen Bildes 
            
    $img ImageCreateFromGIF($pfad.$bild); 
        break; 
        
    //Wenn das Bild ein JPG ist... 
        
    case 2
            
    //Erstellen des ursprünglichen Bildes 
            
    $img ImageCreateFromJPEG($pfad.$bild); 
        break; 
        
    //Wenn das Bild ein PNG ist... 
        
    case 3
            
    //Erstellen desursprünglichen Bildes 
            
    $img ImageCreateFromPNG($pfad.$bild); 
        break; 
        
    //Wenn die Datei kein GIF,JPG oder PNG ist... 
        
    default: 
            
    //Ausgeben einer Fehlermeldung und Beenden des Scriptes 
            
    die('Sorry, das Dateiformat wird nicht unterstützt.'); 
        break; 

      
    //Wenn die Breite größer ist als die Höhe... 
    if($width $height

        
    //Die Breite steht fest 
        
    $thumbWidth $resWidth
        
    //Errechnen des Divisors 
        
    $div $width $thumbWidth
        
    //Errechnen der Höhe 
        
    $thumbHeight $height $div
      
        
    //Festlegen der X-Koordinate auf 0 
        
    $xAnfang 0
        
    //Errechnen der Y-Koordinate an denen das temporäre Bild in das finale Thumbnail eingefügt wird 
        
    $yAnfang = ($resHeight $thumbHeight) / 2

    //Wenn die Höhe größer ist als die Breite... 
    elseif($height $width

        
    //Die Höhe steht fest 
        
    $thumbHeight $resHeight
        
    //Errechnen des Divisors 
        
    $div $height $resHeight
        
    //Errechnen der Höhe 
        
    $thumbWidth $width $div
      
        
    //Errechnen der X-Koordinate an denen das temporäre Bild in das finale Thumbnail eingefügt wird 
        
    $xAnfang = ($resWidth $thumbWidth) / 2
        
    //Festlegen der Y-Koordinate auf 0 
        
    $yAnfang 0

    //Wenn beide Seiten gleich lang sind... 
    else 

        
    //Wenn die Breite größer ist als die Höhe... 
        
    if($resWidth $resHeight
        { 
            
    //Festlegen der Höhe des temporären Bildes auf die Höhe des finalen Bildes 
            
    $thumbHeight $resHeight
            
    //Festlegen der Breite des temporären Bildes auf die Höhe des finalen Bildes 
            
    $thumbWidth $resHeight
        } 
        
    //Wenn die Höhe größer ist als die Breite... 
        
    elseif($resHeight $resWidth
        { 
            
    //Festlegen der Höhe des temporären Bildes auf die Breite des finalen Bildes 
            
    $thumbHeight $resWidth
            
    //Festlegen der Breite des temporären Bildes auf die Breite des finalen Bildes 
            
    $thumbWidth $resWidth
        } 
        
    //Wenn beide Seite gleich sind... 
        
    else 
        { 
            
    //Festlegen der Höhe des temporären Bildes auf die Höhe des finalen Bildes 
            
    $thumbHeight $resHeight
            
    //Festlegen der Breite des temporären Bildes auf die Höhe des finalen Bildes 
            
    $thumbWidth $resHeight
        } 
      
        
    //Errechnen der X-Koordinate an denen das temporäre Bild in das finale Thumbnail eingefügt wird 
        
    $xAnfang = ($resWidth $thumbWidth) / 2
        
    //Errechnen der Y-Koordinate an denen das temporäre Bild in das finale Thumbnail eingefügt wird 
        
    $yAnfang = ($resHeight $thumbHeight) / 2

      
    //Erstellen eines temporären Bildes um ein Thumbail des Bildes zu erstellen 
    $tmpImg ImageCreateTrueColor($thumbWidth,$thumbHeight); 
    //Einfügen des Bildes in das temporäre Bild 
    ImageCopyResampled($tmpImg,$img,0,0,0,0,$thumbWidth$thumbHeight$width$height); 
      
    //Das finale Thumbnail erstellen 
    $resImg ImageCreateTrueColor($resWidth$resHeight); 
    //Das neue Bild mit schwarz füllen 
    ImageFill($resImg00ImageColorAllocate($resImg,  000)); 
    //Das temporäre Bild in das Thumbnail einfügen 
    imagecopymerge($resImg,$tmpImg,$xAnfang,$yAnfang,0,0,$resWidth,$resHeight,100); 
      
    switch(
    $typ

        
    //Wenn das Bild ein GIF ist... 
        
    case 1
            
    //Abspeichern des neuen Bildes 
            
    ImageGIF($resImg,$pfad.$thumb); 
        break; 
        
    //Wenn das Bild ein JPG ist... 
        
    case 2
            
    //Abspeichern des neuen Bildes 
            
    ImageJPEG($resImg,$pfad.$thumb); 
        break; 
        
    //Wenn das Bild ein PNG ist... 
        
    case 3
            
    //Abspeichern des neuen Bildes 
            
    ImagePNG($resImg,$pfad.$thumb); 
        break; 

      
    ?>
    Wie bereits erwähnt funktioniert das im grunde super, solange das erzeugte Thumbnail mit schwarz gefüllt wird!

    Wenn ich nun den Wert von ImageColorAllocate auf 255,255,255 (weiß) setze und das Bild welches hochgeladen wird, höher als breit ist, wird mir ein Thumbnail erzeugt welches

    "Weiß(links)-Bild(mitte)-Schwarz(rechts)" ist.

    Sollte es der Fall sein das dass Hochgeladene Bild Breiter als Hoch ist , dann ist es oben Weiß und unten Schwarz.

    Ich möchte nun natürlich das alles weiß ist bzw die frage ist eher woher das schwarz her kommt ?

    Habt ihr ne Idee ?

    Würd mich sehr über Tipps freuen.
    Danke fürs lesen Cyberco

  • #2
    Bitte beachten: PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr - Ankündigungen im Forum : PHP Developer Forum

    Thumbnail füllen mit Farbe Weiß. - PHP Forum: phpforum.de

    *close*
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X