Sven Wagener: Bild verkleinern vor upload

Hallo alle zusammen,

einige von euch waren doch sicherlich mal auf Ebay und haben schon mal ein Produkt eingestellt. Dort gibt es ein ganz tolles Browser Plugin oder Applet, welches zunächst auf die Bilddatei zugreift, das Bild bearbeitet und dann erst hoch lädt.

Kennt einer von euch vielleicht ein solches Applet? Oder habe ich mich da vielleicht vertan?

Bei Google habe ich mich schon geguckt aber leider nichts dazu gefunden.

Vielen Dank!

Sven Wagener

  1. Moin Sven,

    einige von euch waren doch sicherlich mal auf Ebay und haben schon mal ein Produkt eingestellt. Dort gibt es ein ganz tolles Browser Plugin oder Applet, welches zunächst auf die Bilddatei zugreift, das Bild bearbeitet und dann erst hoch lädt.

    das wage ich zu bezweifeln. So wie Du das beschreibst, wird das Bild auf dem Client bearbeitet und dann hoch geladen?

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
    1. das wage ich zu bezweifeln. So wie Du das beschreibst, wird das Bild auf dem Client bearbeitet und dann hoch geladen?

      Vom Prinzip her genau das. Es muss auf jeden Fall vor dem eigentlichem Upload in der größe geändert werden.

      Vielleicht sowas wie ein Applet, indem man eine Bilddatei lädt ohne es auf den Server zu laden, welches den entsprechenden Bildausschnitt dann einfach an den Server "weiterleitet".

      Auf jeden Fall soll der Upload vorher nicht stattfinden.

      Danke!

      Sven Wagener

      1. Moin Sven,

        Vielleicht sowas wie ein Applet, indem man eine Bilddatei lädt ohne es auf den Server zu laden, welches den entsprechenden Bildausschnitt dann einfach an den Server "weiterleitet".

        ich bin hier nicht wirklich der Fachmann, aber IMHO würde das wenn überhaupt nur über Activ-X möglich sein. "Man möge mich korrigieren"

        Es müßte ja eine Anwendung auf Deinem Client laufen um eine Datei zu manipulieren, denn nichts anderes wäre das ja.

        regds
        Mike©

        --
        Freunde kommen und gehen. Feinde sammeln sich an.
        1. ich bin hier nicht wirklich der Fachmann, aber IMHO würde das wenn überhaupt nur über Activ-X möglich sein. "Man möge mich korrigieren"

          Es müßte ja eine Anwendung auf Deinem Client laufen um eine Datei zu manipulieren, denn nichts anderes wäre das ja.

          Eben genau sowas in der Art. Da die Anwendung dazu eh eine Admin Funktion werden soll, wäre das auch kein Problem.

          MfG,

          Sven Wagener

          1. Moin Sven,

            Eben genau sowas in der Art. Da die Anwendung dazu eh eine Admin Funktion werden soll, wäre das auch kein Problem.

            hilf mir mal auf die Sprünge. Bei wem soll das Bild verkleinert und dann hochgeladen werden? Bei Besuchern Deiner Page, oder geht es um Bilder welche Du hochladen möchtest. Irgendwie entgleisen mir gerade die Zusammenhänge.

            regds
            Mike©

            --
            Freunde kommen und gehen. Feinde sammeln sich an.
            1. hilf mir mal auf die Sprünge. Bei wem soll das Bild verkleinert und dann hochgeladen werden? Bei Besuchern Deiner Page, oder geht es um Bilder welche Du hochladen möchtest. Irgendwie entgleisen mir gerade die Zusammenhänge.

              Es geht um Bilder die ich hochladen möchte über meinen Admin. Die sollen halt eben vor dem Upload verkleinert werden. Halt wegen der Upload Zeit.

              Der Admin ist halt für nen Kunden von mir, der sich halt immer darüber ebschwert, dass seine Bilder, die er gemacht hat immer so lange zum Upload brauchen. N Grafikprogramm kann er aber auch net bedienen. ;-)

              1. Moin Sven,

                Der Admin ist halt für nen Kunden von mir, der sich halt immer darüber ebschwert, dass seine Bilder, die er gemacht hat immer so lange zum Upload brauchen. N Grafikprogramm kann er aber auch net bedienen. ;-)

                du könntest ihm ImageMagick installieren, und eine parameterisierte Commandozeile in eine bat Datei packen. Das ist leider alles was mir dazu einfällt.

                regds
                Mike©

                --
                Freunde kommen und gehen. Feinde sammeln sich an.
        2. ich bin hier nicht wirklich der Fachmann, aber IMHO würde das wenn überhaupt nur über Activ-X möglich sein. "Man möge mich korrigieren"

          sowas wie hier [url:http://www.aurigma.com/Products/ImageUploader/] nur mir resize funktion.

          1. Hi Sven!
            »»[url:http://www.aurigma.com/Products/ImageUploader/]

            link: statt url:
            und die Vorschaufunkton helfen dir :-)

            werbeklaus

  2. Kennt einer von euch vielleicht ein solches Applet? Oder habe ich mich da vielleicht vertan?

    Bei Google habe ich mich schon geguckt aber leider nichts dazu gefunden.

    Vielen Dank!

    Sven Wagener

    Moin,
    ich habe mal ein Script umgeschrieben, damit es die kleinen Bilder
    wegen der gewünschen Spaltenbreite auf eine feste Breite 150px bringt.
    Die großen und kleinen Bilder werden in verschiedenen Ordnern abgelegt.

    versuch es mal; Du kannst es bestimmt für Deine Zwecke ändern.

    Gruß
    CPG

    <?

    // Bild klein
    $K_MB = 150;

    $K_MH = 350;

    // Bild gross
    $G_MB = 640;
    $G_MH = 480;

    if (!isset($abdiepost))
        {
    ?>

    <FORM ENCTYPE="multipart/form-data" ACTION="<?PRINT $PHP_SELF;?>" METHOD=POST>
        <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000"> Ausgew&auml;hltes Bild: <INPUT NAME="UPLOADPIC" TYPE="file"><br>
         <? echo "Bild Name: <INPUT TYPE='TEXT' NAME='pic' value='bild$nu'><br>";?>

    <INPUT TYPE="submit" NAME="abdiepost" VALUE="Bild speichern">
    </FORM>
    <?
        }
    else
        {

    $k_size = getimagesize ("$UPLOADPIC");
        $g_size = getimagesize ("$UPLOADPIC");

    $G_UPLOADPIC = "$UPLOADPIC";
        $K_UPLOADPIC = "$UPLOADPIC";

    // Prüfen ob wir das Bild verkleinen müssen
        // Zuerst ob die maximale Breite nicht überschritten wird

    // Verarbeitung kleines Bild
       // if ($k_size[0] < $K_MB)
      //   bei fester Breite 150
      //   if ($k_size[0] == $K_MB)
         if ($k_size[0] == 150)

    {
            // Also die Breite passt, da müssen wir nix tun
           // $K_NB = $k_size[0];
             $K_NB = 150;
            $K_NH  = $k_size[1];
            }
        else
            {
            // Jetzt ist also Handlungsbedarf
            // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            // $ProportionFaktor = $k_size[0] / $K_MB;
             $ProportionFaktor = $k_size[0] / 150;
            //neuer Propfaktor, da festeBreite
           //  $ProportionFaktor = $k_size[0] / $K_size[1];

    $K_NB = $K_MB;
          $K_NH  = round($k_size[1] / $ProportionFaktor);
            }

    // Verarbeitung grosses Bild
        if ($g_size[0] < $G_MB)
            {
            // Also die Breite passt, da müssen wir nix tun
            $G_NB = $g_size[0];
            $G_NH  = $g_size[1];
            }
        else
            {
            // berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            $GProportionFaktor = $g_size[0] / $G_MB;
            $G_NB = $G_MB;
            $G_NH  = round($g_size[1] / $GProportionFaktor);
            }

    // So das mit der Breite hätten wir, nun die Höhe

    // Verarbeitung kleines Bild
        if ($K_NH < $K_MH)
            {
            // Also die Hoehe passt, da müssen wir nix tun
            }
        else
            {
            // Jetzt ist also Handlungsbedarf
            // berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            $ProportionFaktor = $K_NH / $K_MH;
            $K_NH = $K_MH;
            $K_NB  = round($K_NB / $ProportionFaktor);
            }

    // Verarbeitung grosses Bild
        if ($G_NH < $G_MH)
            {
            // Also die Hoehe passt, da müssen wir nix tun
            }
        else
            {
            // Jetzt ist also Handlungsbedarf
            // Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
            $GProportionFaktor = $G_NH / $G_MH;
            $G_NH = $G_MH;
            $G_NB  = round($G_NB / $GProportionFaktor);
            }

    // Verarbeitung kleines Bild
        if ($k_size[0] == $K_NB && $k_size[1] == $K_NH)
            {
            $UPLOADPIC_name = "$pic-klein.jpg";
            // Da mußte das Bild nicht verkleinert werden
            copy ($K_UPLOADPIC, "ordner/images/klein/$UPLOADPIC_name");

    echo "$pic-klein.jpg = pic<br>bild kann so bleiben<br><hr>";
            }
        else
            {
            $UPLOADPIC_name = "$pic-klein.jpg";
            // Hier wird PIC verkleinert und gespeichert
            $td=imageCreateTrueColor($K_NB, $K_NH);
            $ts=imageCreateFromJPEG($K_UPLOADPIC);
            imageCopyResampled($td, $ts, 0, 0, 0, 0, $K_NB, $K_NH, $k_size[0], $k_size[1]);
            imageJPEG($td,"orden/images/klein/$UPLOADPIC_name");
            echo "$pic-klein.jpg = pic<br>Bild musste geändert werden!<br><hr>";
            }

    // Verarbeitung grosses Bild
        if ($g_size[0] == $G_NB && $g_size[1] == $G_NH)
            {
            $UPLOADPIC_name = "$pic-gross.jpg";
            // Da mußte das Bild nicht verkleinert werden
            copy ($G_UPLOADPIC, "ordner/images/gross/$UPLOADPIC_name");
            echo "$pic-gross.jpg = pic<br>bild kann so bleiben";
            }
        else
            {
            $UPLOADPIC_name = "$pic-gross.jpg";
            // Hier wird PIC verkleinert und gespeichert
            $td1=imageCreateTrueColor($G_NB, $G_NH);
            $ts1=imageCreateFromJPEG($G_UPLOADPIC);
            imageCopyResampled($td1, $ts1, 0, 0, 0, 0, $G_NB, $G_NH, $g_size[0], $g_size[1]);
            imageJPEG($td1,"ordner/images/gross/$UPLOADPIC_name");
            echo "$pic-gross.jpg = pic<br>Bild musste geändert werden!";
            }
        }

    ?>

    1. Moin CPG,

      ich habe mal ein Script umgeschrieben, damit es die kleinen Bilder
      wegen der gewünschen Spaltenbreite auf eine feste Breite 150px bringt.

      schönes Script, aber wenn ich den OP richtig verstanden habe, dann möchte er das das Bild Cientseitig verkleinert wird und nicht Serverseitig.

      regds
      Mike©

      --
      Freunde kommen und gehen. Feinde sammeln sich an.
      1. schönes Script, aber wenn ich den OP richtig verstanden habe, dann möchte er das das Bild Cientseitig verkleinert wird und nicht Serverseitig.

        Genau das ;-)