[Funktion] Picz (1280x1024) auf z.B. 800x600 ändern mit minderwertiger Qualität, aber wie???

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Picz (1280x1024) auf z.B. 800x600 ändern mit minderwertiger Qualität, aber wie???

    Tach,

    habe folgendes Problem! Eine Bildergalerie, die schon automatisch Thumbs erstellt! Ich will aber, wenn die Originalbilder größer als 800 x 600 sind, diese auf 800x600 berechnen lassen, und die Qualität aber auf die Hälfte heruntersetzen(Wie bei Photoshop)! Ist das irgendwie möglich? THX for Help!

    Code:
    $PicPathIn = "$DOCUMENT_ROOT/galerie/pix/";

    $handle_ordner = opendir($PicPathIn);
    while ($ordner = readdir($handle_ordner))
    {
    if (!is_file($ordner) && $ordner != "." && $ordner != "..")
    {
    $ordner_aktuell = $PicPathIn;
    $ordner_aktuell .= $ordner;
    $ordner_aktuell .= "/";

    // Bilder auslesen:
    $handle = opendir ("$ordner_aktuell");
    while ($file = readdir ($handle))
    {
    if ($file != "." && $file != ".." && !ereg('^th_', $file))
    {
    if (!file_exists($ordner_aktuell."th_".$file))
    {
    // --- Thumbnail erstellen ------
    echo "Thumb für $file existiert nicht - wird erstellt\n<br />";

    // Orginalbild
    $bild = $file;

    // Bilddaten ermitteln
    $size=getimagesize("$ordner_aktuell"."$bild");
    $breite=$size[0];
    $hoehe=$size[1];
    $neueBreite=100;
    $neueHoehe=intval($hoehe*$neueBreite/$breite);

    if($size[2]==1) {
    // GIF
    $altesBild=ImageCreateFromGIF("$ordner_aktuell"."$bild");
    $neuesBild=imageCreate($neueBreite,$neueHoehe);
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
    imageGIF($neuesBild,"$ordner_aktuell"."th_"."$bild");
    }

    if($size[2]==2) {
    // JPG
    $altesBild=ImageCreateFromJPEG("$ordner_aktuell"."$bild");
    $neuesBild=imageCreate($neueBreite,$neueHoehe);
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
    ImageJPEG($neuesBild,"$ordner_aktuell"."th_"."$bild");
    }

    if($size[2]==3) {
    // PNG
    $altesBild=ImageCreateFromPNG("$ordner_aktuell"."$bild");
    $neuesBild=imageCreate($neueBreite,$neueHoehe);
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
    ImagePNG($neuesBild,"$ordner_aktuell"."th_"."$bild");
    }

    echo "Altes Bild:<BR>";
    echo "<IMG SRC=\"pix/$ordner/$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\"><br /><br />";
    echo "Neues Bild:<BR>";
    $Thumbnail = "pix/".$ordner."/th_".$bild;
    echo "<IMG SRC=\"$Thumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\"><br /><br />";

    }
    else
    {
    echo "Thumb für $file existiert\n<br /><br />";
    }
    }
    }
    closedir($handle);
    }
    }
    closedir($handle_ordner);
    ?>

    Danke Leute!

  • #2
    [Funktion] Picz (1280x1024) auf z.B. 800x600 ändern mit minderwertiger Qualität, aber wie???

    Tach,

    habe folgendes Problem! Eine Bildergalerie, die schon automatisch Thumbs erstellt! Ich will aber, wenn die Originalbilder größer als 800 x 600 sind, diese auf 800x600 berechnen lassen, und die Qualität aber auf die Hälfte heruntersetzen(Wie bei Photoshop)! Ist das irgendwie möglich? THX for Help!

    Code:
    PHP-Code:
    <?
    $PicPathIn = "$DOCUMENT_ROOT/galerie/pix/";

    $handle_ordner = opendir($PicPathIn);
    while ($ordner = readdir($handle_ordner))
        {
        if (!is_file($ordner) && $ordner != "." && $ordner != "..")
            {
            $ordner_aktuell = $PicPathIn;
            $ordner_aktuell .= $ordner;
            $ordner_aktuell .= "/";

            // Bilder auslesen:
            $handle = opendir ("$ordner_aktuell");
            while ($file = readdir ($handle))
                {
                if ($file != "." && $file != ".." && !ereg('^th_', $file))
                    {
                    if (!file_exists($ordner_aktuell."th_".$file))
                        {
                         // --- Thumbnail erstellen ------
                        echo "Thumb für $file existiert nicht - wird erstellt\n<br />";

                         // Orginalbild
                        $bild = $file;

                        // Bilddaten ermitteln
                        $size=getimagesize("$ordner_aktuell"."$bild");
                        $breite=$size[0];
                        $hoehe=$size[1];
                        $neueBreite=100;
                        $neueHoehe=intval($hoehe*$neueBreite/$breite);

                        if($size[2]==1) {
                        // GIF
                        $altesBild=ImageCreateFromGIF("$ordner_aktuell"."$bild");
                        $neuesBild=imageCreate($neueBreite,$neueHoehe);
                        imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
                        imageGIF($neuesBild,"$ordner_aktuell"."th_"."$bild");
                        }

                        if($size[2]==2) {
                        // JPG
                        $altesBild=ImageCreateFromJPEG("$ordner_aktuell"."$bild");
                        $neuesBild=imageCreate($neueBreite,$neueHoehe);
                        imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
                        ImageJPEG($neuesBild,"$ordner_aktuell"."th_"."$bild");
                        }

                        if($size[2]==3) {
                        // PNG
                        $altesBild=ImageCreateFromPNG("$ordner_aktuell"."$bild");
                        $neuesBild=imageCreate($neueBreite,$neueHoehe);
                        imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
                        ImagePNG($neuesBild,"$ordner_aktuell"."th_"."$bild");
                        }

                        echo "Altes Bild:<BR>";
                        echo "<IMG SRC=\"pix/$ordner/$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\"><br /><br />";
                        echo "Neues Bild:<BR>";
                        $Thumbnail = "pix/".$ordner."/th_".$bild;
                        echo "<IMG SRC=\"$Thumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\"><br /><br />";

                        }
                                               else
                        {
                        echo "Thumb für $file existiert\n<br /><br />";
                        }
                    }
                }
            closedir($handle);
            }
        }
    closedir($handle_ordner);
    ?>
    Danke Leute!

    EDIT:
    *ZUSAMMENFÜHR* by Abraxax
    Zuletzt geändert von boehseronkel; 09.08.2004, 13:22.

    Kommentar


    • #3
      1.) 1 Thema hätte auch gereicht
      2.) das hier dürfte dich interessieren:

      http://php-resource.de/forum/showthr...&threadid=9665
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar


      • #4
        Ops... hab ich 2 gepostet?

        THX 4 Help

        Kommentar

        Lädt...
        X