Zum Inhalt springen
  • Das GSF wandelt Links in Affiliate Links um, um ggf. eine Provision erhalten zu können. Gerne nutzen bitte, danke! Mehr Infos, wie ihr das GSF unterstützen könnt, findet ihr im GSF Support Topic.

Empfohlene Beiträge

Geschrieben

Hallo,

mit welchem Programm, das man am besten auch noch irgendwo (nur wo?) saugen kann, kann man Bilder (jpgs) verkleinern?

Gruß, Ralf

Geschrieben (bearbeitet)

auf einem php-fähigen server tut's auch dieses script:

<? header("content-type: image/jpeg"); if (empty($scale)){ $scale=5; }; # wird kein maßstab übergeben, wird auf ein fünftel verkleinert $size  = getimagesize($image);   # bildgröße ermitteln $breit = round($size[0]/$scale); $hoch  = round($size[1]/$scale); $quell = imagecreatefromjpeg($image); $ziel  = imagecreate($breit,$hoch); imagecopyresized($ziel,$quell,0,0,0,0,$breit,$hoch,$size[0],$size[1]); imagejpeg($ziel); imagedestroy($ziel); imagedestroy($quell); ?>

- verkleinert um den factor scale...

- aufruf:

<IMG SRC="http://www.simpleworx.de/images/thumbjpg.php?image=face05.jpg&scale=4" alt="thumb">

www.simpleworx.de/images/face05.jpg

-> http://www.simpleworx.de/images/thumbjpg.p...e05.jpg&scale=4

shrinkjpg.php skaliert JPGs auf feste breite (x=) oder höhe (y=)

<? header("content-type: image/jpeg"); $fehler=((empty($image))) || ((empty($x))&&(empty($y))); if (!$fehler)   { $size=getimagesize($image);   # bildgröße ermitteln     if (isset($x)) { $brt=$x; }      else        { $scl=$y/$size[1];         $brt=round($size[0]*$scl);        };     if (isset($y)) { $hch=$y; }      else       { $scl=$x/$size[0];         $hch=round($size[1]*$scl);        };     $quell=imagecreatefromjpeg($image);     $ziel =imagecreate($brt,$hch);     imagecopyresized($ziel,$quell,0,0,0,0,$brt,$hch,$size[0],$size[1]);     imagejpeg($ziel);     imagedestroy($ziel);     imagedestroy($quell);    }; ?>

-> http://www.simpleworx.de/images/shrinkjpg....ace01.jpg&x=150

-> http://www.simpleworx.de/images/shrinkjpg....ace01.jpg&y=150

-> http://www.simpleworx.de/images/shrinkjpg....jpg&x=150&y=150

dieses verfahren erspart einem das generieren und übertragen der thumbnail-grafiken...

- die thumbnails werden eben - während des aufbaus der seite - aus den orignialen generiert und übertragen... :-D - leider müssen die PHP-scripts (bisher noch) in demselben verzeichnis liegen, indem sich auch die zu skalierenden grafiken befinden... :-(

für GIF und PiNG müssen die scripts noch entsprechend angepaßt werden...

hab' da aber so eine idee, wie ich vielleicht doch noch alle gängigen grafik-typen mit einem einzigen script erschlagen kann... :-( - melde mich später vielleicht nochmal... :-(

Bearbeitet von carilian
Geschrieben (bearbeitet)

guckst Du http://www.fuffi-tours.de/fotos/A2B/...

- und quelltext von http://www.fuffi-tours.de/fotos/A2B/show.php... :-D

"kein hexenwerk - eine einfache übung nur - das ganze ist..." :-(

ach ja...

- PiNG und GIF funktionieren bisher nicht... :-( - kennt da jemand zufällig die notwendige syntax...?!?

- und warum kann ich das script nicht zentral zur verfügung stellen...?!?

- damit ich den thumbnail auch mit /cgi-bin/scalejpg.php?scale=3ℑ=http://<server>/<pfad>/<bild>.jpg generieren kann...?!?

(- dann müßte es theoretisch ja auch möglich sein, den effekt hier zu nutzen... :-( )

Bearbeitet von carilian
Geschrieben (bearbeitet)

@carilian:

Eigentlich solltest Du auch *.gif und *.png mit imagecopyresized in der Größe ändern können, bei mir läuft das ganz gut :-D . Problematisch wird es dann allerdings eine nicht *.jpg-Datei mit imagejpeg($ziel) erstellen zu wollen - das klappt halt nicht (da nur für imagejpegs) - probiere doch mal ausschließlich imagecreate.

Schau doch mal hier:

Wie kann ich Bilder verkleinern?

oder...

imagecopyresized -- Kopieren und Ändern der Grösse eines Bild-Teiles

dieses verfahren erspart einem das generieren und übertragen der thumbnail-grafiken...

- die thumbnails werden eben - während des aufbaus der seite - aus den orignialen generiert und übertragen...

Trotzdem...

Werden die Bilder in der Form wie bei Dir beschrieben erzeugt wird natürlich für jedes Bild bei jedem Seitenaufruf ein eigener PHP-Prozess gestartet (auch wenn dieser die Bilddaten nur per fpassthru() durchschiebt). Solange PHP als Webserver-Modul läuft, ist dies weniger dramatisch - gerade bei den großen Hostinganbietern wird aber oft die CGI-Variante von PHP eingesetzt, und da erzeugt dies eine beträchtliche Serverbelastung. (de.comp.lang.php.* FAQ)

Bearbeitet von vespasquire
Geschrieben

danke für den tip...! :-(

das mit der serverlast ist schon klar... :-( - aber: ein web-optimiertes bild hat bei mir selten 50KB...

- die meisten liegen dann doch so im bereich von 20KB...

- der genannte beitrag geht von 30 und mehr bis zu 200KB großen originalen aus... :-( - das wird dann natürlich schon 'n bißchen heftig... :-D

Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.
  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.


×
×
  • Neu erstellen...

Wichtige Information