Fehler mit w3concepts.alist.mod3

Gesperrt
Eric A.
Beiträge: 75
Registriert: Sa 15. Jan 2005, 18:04
Wohnort: Laer - NRW
Kontaktdaten:

Fehler mit w3concepts.alist.mod3

Beitrag von Eric A. » Do 17. Mär 2005, 12:56

Hallo Zusammen,

ich benutzte dass Modul w3concepts.alist.mod3 und war eingentlich damit ganz glücklich. (Danke kummer :D).
...bis dass ich jetzt Bilder, wo die Höhe größer als die Breite ist, benutzte.

Alle generierten Thumbs waren immer kleiner!!!!

Hier der usrpüngliche Code für die Erzeugung von Thumbs

Code: Alles auswählen

        $bild_vorhanden = false;
        while ($db2->next_record()) {
            if ($db2->f("type") == 'CMS_IMG' && $db2->f("typeid") == 1) {
                $bilddateiname = "{$thumbnailpfad}{$bildbreite}_".$db2->f("value").".jpg";
                if (!file_exists($cfg['path']['frontend'].$bilddateiname)) {

                    $src_image_size = getimagesize($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));

                    $bildhoehe = round($src_image_size[1] * $bildbreite / $src_image_size[0]);
                    if ($bildhoehe > $bildbreite) {
                        $bildhoehe = $bildbreite;
                        $bildbreite = round($src_image_size[0] * $bildhoehe / $src_image_size[1]);
                    }

                    $dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);

                    if ($src_image_size[2] == 1) {
                        $src_im = imagecreatefromGIF($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } elseif ($src_image_size[2] == 2) {
                        $src_im = @ImageCreateFromJPEG($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } else {
                        $src_im = imagecreatefromgd($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    }
                    
                    imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
                    imagejpeg ($dst_im,$cfg['path']['frontend'].$bilddateiname,100);
                }
                $bild_vorhanden = true;
            }
        }
Dadrin ist ein kleine Fehler. Im meinen Fall ($bildhoehe > $bildbreite) wird die Bildbreite (Variabel $bildbreite ) in der Schleife ständig geändert und nie an den festgelegten Wert zurückgesetzt.
Jetzt die korrektur:

Code: Alles auswählen

    $bild_vorhanden = false;
        while ($db2->next_record()) {
            if ($db2->f("type") == 'CMS_IMG' && $db2->f("typeid") == 1) {
                $bildbreite = "CMS_VALUE[7]";               
                $bilddateiname = "{$thumbnailpfad}{$bildbreite}_".$db2->f("filename").".jpg";
                if (!file_exists($cfg['path']['frontend'].$bilddateiname)) {

                    $src_image_size = getimagesize($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));

                    $bildhoehe = round($src_image_size[1] * $bildbreite / $src_image_size[0]);
                    if ($bildhoehe > $bildbreite) {
                        $bildhoehe = $bildbreite;
                        $bildbreite = round($src_image_size[0] * $bildhoehe / $src_image_size[1]);
                   }

                    $dst_im = imagecreatetruecolor($bildbreite,$bildhoehe);

                    if ($src_image_size[2] == 1) {
                        $src_im = imagecreatefromGIF($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } elseif ($src_image_size[2] == 2) {
                        $src_im = @ImageCreateFromJPEG($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    } else {
                        $src_im = imagecreatefromgd($cfg['path']['frontend'].$uploadpfad.$db2->f("dirname").$db2->f("filename"));
                    }
                    
                    imagecopyresampled ($dst_im,$src_im,0,0,0,0,$bildbreite,$bildhoehe,$src_image_size[0],$src_image_size[1]);
                    imagejpeg ($dst_im,$cfg['path']['frontend'].$bilddateiname,100);
                }
                $bild_vorhanden = true;
            }
        }
Wichtig ist bevor man die Bildbreite für den nächsten Thumbs wieder benutzt, die Bildbreite wieder an den festgelegteten Wert zurückzusetzen. (diese Zeile: $bildbreite = "CMS_VALUE[7]"; ).

Viel spaß dabei
Eric
Contenido 4.4.5-r1
Contenido V4.6.15 Version MR

emergence
Beiträge: 10643
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 18. Mär 2005, 10:01

kannst du bitte auch auf den orginal beitrag mit dem modul verlinken...
ganz lieb, danke
*** make your own tools (wishlist :: thx)

Eric A.
Beiträge: 75
Registriert: Sa 15. Jan 2005, 18:04
Wohnort: Laer - NRW
Kontaktdaten:

Beitrag von Eric A. » Fr 18. Mär 2005, 10:44

Kein Problem. Es gibt sehr viel Variante hier im Forum. Ich gebe der ursprünglichen Link von w3concepts an.

hier der Link http://w3concepts.net/1/1/51/90.html

Gruß
Eric
Contenido 4.4.5-r1
Contenido V4.6.15 Version MR

Gesperrt