Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Smooth-Graphics
Threadersteller
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 04.05.2008 19:50
Titel [PHP] Advanced-Thumbnails erstellen? |
|
|
Hallo Jungs,
ich will Thumbnails erstellen. Nur nicht ganz so einfach. Aus einem Bild soll nämlich jetzt immer soviel genommen werden, dass es genau ein Quadrat ergibt und dann als 120px x 120px ausgeben kann. Ähnlich wie bei Flickr in der Miniaturansichtübersicht.
Jetzt meine Frage: wie geht das? LibGD steht zur Verfügung.
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 04.05.2008 19:55
Titel
|
|
|
Dafür habe ich hier irgendwann mal ein Script gepostet, habe gerade keinen Zugriff auf
die Daten aber vllt findest du es über die Suche.
Oder schau in die Doku zu: imagecopyresized()
Zuletzt bearbeitet von m am So 04.05.2008 20:04, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst So 04.05.2008 20:54
Titel
|
|
|
Zitat: | LibGD steht zur Verfügung. |
Ja, damit kannst du arbeiten.
Die GD-Library wäre die eine Möglichkeit, ein auf dem Server installiertes ImageMagick wäre die andere.
Wirf einen Blick in das deutsche PHP-Handbuch bzw. genauer gesagt, schlag in dem Kapitel der Grafikfunktionen nach.
Neben den Beschreibungen zu den einzelnen Funktionen findest du im Handbuch meist auch noch Anwendungsbeispiele und fast immer noch hilfreiche Kommentare. Diese Kommentare findest du allerdings nur in der Online-Version des Handbuchs und nicht in der Fassung zum Download.
Zitat: | Oder schau in die Doku zu: imagecopyresized() |
Kommt drauf an, ob einfach nur ein Ausschnitt gewählt oder ob dieser dann noch resized werden sollte.
Ich empfehle, einen Blick auf die folgenden drei Funktionen zu werfen:
imagecopy(), imagecopyresized(), imagecopyresampled()
EDIT:
Wenn m schreibt, daß er hier irgendwann mal ein Script gepostet hat, würde ich dir wirklich empfehlen, die Suchfunktion einzusetzen. Das hast du dann mit Sicherheit was anständig programmiertes.
Und wenn ich jetzt mal so nachdenke, meine ich, daß ich hier auch schon mal ein PHP-Script zum Resizen von Bildern gepostet hab. Da wird dann zwar kein Ausschnitt gewählt, sondern ein komplettes Bild resized, aber man kann sich das ja anpassen...
Ich glaube, daß war ein Script zum Hochladen von Bildern, die dann automatisch resized wurden. Aber so ganz sicher bin ich mir nicht mehr...
Aber in jedem Fall wird die Suchfunktion nicht schaden. Es wäre übrigens auch sinnvoll gewesen, erst mal die Suche zu benutzen, bevor man ein neues Topic aufmacht. Eventuell wurde das bestehende Problem ja bereits schon mal gelöst.
Zuletzt bearbeitet von rob am So 04.05.2008 21:01, insgesamt 1-mal bearbeitet
|
|
|
|
|
Smooth-Graphics
Threadersteller
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 04.05.2008 21:25
Titel
|
|
|
Danke dir m, ich such später gleich mal...
Danke rob, eigentlich hast du schon recht, man sollte erst suchen, dann posten. Hab ich irgendwie vergessen, sorry
Gruß
Smooth
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 21.05.2008 10:24
Titel
|
|
|
Da ich es gerade selbst wieder benötigte, hier mal der relevante Teil zum ermitteln der Werte.
Code: | $img = imagecreatefrom___($file);
$thumbwidth = 60;
$thumbheight = 40;
$minsize = 60; # bei ungleichen seitenverhältnissen die längere seite
$width = 400; # ermitteln z.b. per getimagesize
$height = 300; # ermitteln z.b. per getimagesize
$scale = max($minsize/$width, $minsize/$height); # skalierungsfaktor ermitteln
$newwidth = ceil($width*$scale);
$newheight = ceil($height*$scale);
$x = ($newwidth - $thumbwidth)/2;
$y = ($newheight - $thumbheight)/2;
$cropimg = imagecreatetruecolor($thumbwidth,$thumbheight);
imagecopyresized($cropimg, $img, -$x, -$y, 0, 0, $newwidth, $newheight, $width, $height); |
So kannst du wie du anhand der Beispielwerte sehen kannst nicht nur quadratische beschnittene
Thumbnails erzeugen, sondern auch rechteckige.
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Mi 21.05.2008 10:41
Titel
|
|
|
für solche operationen empfehle ich lieber imagemagick, wenn verfügbar. das ist in dieser hinsicht um einiges leistungsfähiger und schneller.
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mi 21.05.2008 10:55
Titel
|
|
|
Naja, wie du siehst geht es auch so und stellt keinerlei Problem dar und imagemagick ist eben nicht immer verfügbar.
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Mi 21.05.2008 10:59
Titel
|
|
|
Ja, ImageMagick wäre eine gute Idee, aber während die GD auf so gut wie jedem Server mit PHP zur Verfügung steht, ist das bei Imagemagick nicht immer der Fall. Und zur Frage der Geschwindigkeit: Das hängt auch davon ab, wie der Zugriff erfolgt.
Es würde die Möglichkeit geben, auf das Standalone-Programme zuzugreifen und diesem dann Parameter beim Aufruf zu geben oder man könnte über die PHP-Extensions MagickWand oder IMagick darauf zugreifen.
Ich habe allerdings noch nicht viele Hoster gesehen, die die anbieten...
Allerdings, wenn man einen guten und netten Hoster hat, dann installiert er die Extensions eventuell auch, wenn man danach fragt. Nur viele der Billig-Massen-Hoster bieten halt nur "Standardpakete" an und nichts weiter.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Thumbnails mit Dateiinformationen erstellen
[Hilfe] Thumbnails erstellen
Advanced Image Swap
[PHP Advanced] Grafik aus PLZ erzeugen
[CSS advanced?] flexiblen werbebanner positionieren
PHP Thumbnails per FTP speichern?
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|