Bilder nach Upload automatisch verkleinern und quadratisch skalieren
Ich möchte, dass ein Bild, welches vom User hochgeladen wurde automatisch auf 50x50 px skaliert wird, ohne dass:
-man nur die obere linke ecke des bildes sieht
-man eine unschöne verzerrung hat. also zb:
+---++++
| | +
+---++++
Dabei ist das von den plussen umrahmte das originalbild und der Teil in den strichen soll der bereich sein, der im endeffekt auf 50x50px dargestellt werden soll.
ich habe bereits das hier gefunden:
http://www.php-resource.de/forum/php-developer-forum/103665-bild-zuschneiden-problem.html
Aber ich verstehe nicht, wie ich das einbinde.
Soll ich das ausführen, bevor ich das bild speichere und den Pfad in die datenbank schreibe? Soll ich ein php-bild erzeugen mit dem code? wenn ja, wie?
Ich hoffe Ihr versteht mein problem, auch wenn es unglücklich formuliert ist.
2 Antworten
Hi!
Solche verkleinerten Versionen von Bildern haben einen Namen, geläufig wär da z. B. von einem "Thumbnail" zu sprechen. Es hilft nämlich schonmal die Bezeichnung von dem, was man sucht, zu kennen :-)
Und dann... bietet PHP sehr viele Möglichkeiten wie man Thumbnails von Bildern erstellt. Es gibt auch nicht "dieses eine Thumbnail-Konzept", die Anforderungen sind da verschieden. Der eine will z. B. dass tatsächlich neue, verkleinerte Bilddateien erstellt und gespeichert werden, der andere will dass die Thumbnails nur zur Anzeige aus den großen Bildern generiert, aber nicht gespeichert werden. Da gibts noch mehr Möglichkeiten.
Du kannst nun also selber ein Skript schreiben mit dem du deine Bilder wie gewünscht ins richtige Format bringst. Das hier ist ein Tutorial dass mal die Anfänge zeigt:
http://www.webmasterpro.de/coding/article/thumbnails-erstellen-mit-php.html
Du kannst aber auch mal fertige, frei erhältliche PHP-Thumbnail-Skripte suchen, da sollte sich einiges finden lassen - sowas wurde schon oft genug realisiert :-)
Grüße!
"Thumbnail" sollte schon passen :-)
Ich hab auch schon Thumbnail-Skripte gesehen die nicht nur die Bildgröße ändern, sondernd auch über eine "Crop"-Funktion zum Zuschneiden des Bildes verfügen.
Mit nem guten Skript für Thumbnails kann man also zum einen kleine Vorschaubilder erzeugen, zum anderen aber auch bestimmen ob und welche Bildausschnitte gezeigt werden sollen. So könnte man z. B. zuerst einen quadratischen Bildausschnitt festlegen - und denn dann verkleinern, das ist wohl das was du erreichen willst.
Hier noch Links zu Beispiel-Skripten:
github.com/jamiebicknell/Thumb.php
shiftingpixel.com/2008/03/03/smart-image-resizer/
mywebmymail.com/?q=content/easyphpthumbnail-class
...und so nebenbei: 50x50 ist wirklich nicht besonders groß... ob du da ne brauchbare Vorschau mit erkennbaren Bildinhalten hinbekommst ist fraglich, 'n bisschen größer wär vielleicht auch vorteilhaft.
Grüße!
Warum nutzt Du denn nicht einfach ein CMS oder ein als CMS einrichtbares System wie Wordpress? Ich kann auch nicht programmieren, aber genau dafür gibt es bei derartigen Systemen ja jede Menge kostenloser Plugins und Add-Ons, die einem genau das abnehmen.
Ich gehe jede Wette ein, dass es für WP genau so ein Plugin gibt, mit dessen Hilfe man innerhalb von 10 Minuten Dein Problem lösen könnte!
ja, ich weiß, dass es bereits zahlreiche gute CMS gibt. aber ich lerne seit ostern diesen jahres PHP und wollte die sprache wirklich können und nich bloß ein bisschen rumspielen. dann will ich, dass es im backend nur die Funktionen gibt, die ich will. Ich mag es außerdem nicht, dass man so sehr an ein theme gebunden ist und css nur recht umständlich editieren kann.
Danke trotzdem :)
Ich mag es außerdem nicht, dass man so sehr an ein theme gebunden ist und css nur recht umständlich editieren kann.
...klingt so als hättest du dir bisher noch kein vernünftiges CMS angesehen. Bei den mir bekannten, brauchbaren macht man die CSS-Datei im Editor auf... und ändert sie eben. Ganz simpel :-)
Ich weiß, was ein Thumbnail ist, habe den begriff aber vermieden, weil ich es ja nicht als verkleinerte beispiel ansicht haben will sondern auch in verkleinerter form das bild speichern möchte bzw. senden.
Thumbnail habe ich immer so verstanden, dass es ein mehr oder weniger unglücklich formatiertes mini-bild ist, dem man den inhalt erahnen kann, bis man mit dem bild interagiert. Wahrscheinlich ist diese 'definition' ein wenig falsch.