Bild verkleinern vor upload
Sven Wagener
- programmiertechnik
0 Mike©0 Sven Wagener0 Mike©0 Sven Wagener0 Mike©0 Sven Wagener0 Mike©
0 Sven Wagener
0 CPG0 Mike©
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
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©
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
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©
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
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©
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. ;-)
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©
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.
Hi Sven!
»»[url:http://www.aurigma.com/Products/ImageUploader/]
link: statt url:
und die Vorschaufunkton helfen dir :-)
werbeklaus
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ä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!";
}
}
?>
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©
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 ;-)