Thumb script

Hm du solltest das Script mal ansehen, dass würderst du die sicherlich bestimmt finden.

Ersetzte

PHP:
$dest_file = $PicPathOut."thb".substr($bild, 3, strlen($bild)-3);

durch

PHP:
$dest_file = $PicPathOut."thb".$bild;
 
PHP:
function create_thumbs($PicPathIn, $PicPathOut, $destHeight, $dest_qual) {    
    $verz=opendir ($PicPathIn); 
    //Bild-Schleife 
    while ($bild = readdir ($verz)) {   
        if($bild != "." && $bild != ".."){
            $src_file = $PicPathIn.$bild;
            $dest_file = $PicPathOut."medium-".$bild; 
            
            $imagetype = array( 1 => 'GIF', 2 => 'JPG', 3 => 'PNG', 4 => 'SWF', 5 => 'PSD', 6 => 'BMP', 7 => 'TIFF', 8 => 'TIFF', 9 => 'JPC', 10 => 'JP2', 11 => 'JPX', 12 => 'JB2', 13 => 'SWC', 14 => 'IFF');
            $imginfo = getimagesize($src_file);
            
            $imginfo[2] = $imagetype[$imginfo[2]];
        
            // height/width
            $srcWidth = $imginfo[0];
            $srcHeight = $imginfo[1];
            $destWidth = (int)($srcWidth*$destHeight/$srcHeight);
            
            if ($imginfo[2] == 'JPG')
                $src_img = imagecreatefromjpeg($src_file);
            else if ($imginfo[2] == 'PNG')
                $src_img = imagecreatefrompng($src_file);
                
            $dst_img = imagecreatetruecolor($destWidth, $destHeight);
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
            imagejpeg($dst_img, $dest_file, $dest_qual);
            imagedestroy($src_img);
            imagedestroy($dst_img);
        }
      
    }
  
}


@aquasonic

Danke!
Dein script funktioniert wunderbar!!

1 Frage hätte ich aber noch:
Wie füge ich auf jeden Bild mein Logo ein?

Das logo ist transparent. Es sollte am Bild auch transparent sein!
 
Am besten das Bild als PNG das Wasserzeichen abspeichern und mit imagecopy an die entsprechende Stelle über das Bild kopieren. PHP unterstützt transparenz bei PNGs und müsste die Transparenz beim kopieren entsprechend übernehmen.

gruß daniel
 
PNG Bilder mit Imagecopy funktionieren bedingt , wenn müsste man ImageAlphaBlending()noch verwenden nachdem man das Logo reinkopiert hat, damit das PNG transparent bleibt. Als Alternative gäbe es gif Bilder welche aber dann ausfranzen als Logo und das sieht einfach ein wenig unschön aus :)
 
Hallo,

ich benutze das gleiche Script, jedoch gibt es ein Problem.
Ich möchte jetzt das nicht die Breite Dynamisch ist sondern die Höhe und die Breite soll festgelegt sein. Jedoch ist die Frage "Wie?" denn ich hab selbst schon erfolglos probiert das zu ändern.

Danke ;)
 
Nein eigentlich nicht aber Danke

Mir geht es einzig allein um das ermitteln der Automatische generieren der Höhe.
Ich benutze wie gesagt das Script von aquasonic das auch super ist.
Nur möchte ich da das sich anstatt das automatische generieren von der Breite, die Höhe automatisch generiert wird.

danke ;)
 
Die Funktion imagecopyresampled ist die Funktion welche das eigentliche Thumb generiert. Hier wird einfach ein Bild in ein kleineres Kopiert. In der Funktion von Aquasonic kannst du auch ganz simpel die Werte der Variablen $destHeight und $destWidth bearbeiten und somit die Größe des Vorschaubildes festlegen oder auch berechnen.
 
Danke ;)

Ich hab das Problem eigentlich schon gelöst.
Fehler war einfach der, das ich bei dem <img> die Größe Manuell festgelegt habe und es nicht automatisch generiert haben lasse.

Trotzdem Danke :)
 
Zurück