mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 19.03.2024 04:14 Benutzername: Passwort: Auto-Login

Thema: [PHP] Advanced-Thumbnails erstellen? vom 04.05.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Advanced-Thumbnails erstellen?
Seite: 1, 2, 3, 4, 5  Weiter
Autor Nachricht
Smooth-Graphics
Threadersteller

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 04.05.2008 19:50
Titel

[PHP] Advanced-Thumbnails erstellen?

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 04.05.2008 19:55
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst So 04.05.2008 20:54
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
Smooth-Graphics
Threadersteller

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 04.05.2008 21:25
Titel

Antworten mit Zitat Zum Seitenanfang

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 *zwinker*

Gruß
Smooth
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 21.05.2008 10:24
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Mi 21.05.2008 10:41
Titel

Antworten mit Zitat Zum Seitenanfang

für solche operationen empfehle ich lieber imagemagick, wenn verfügbar. das ist in dieser hinsicht um einiges leistungsfähiger und schneller.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 21.05.2008 10:55
Titel

Antworten mit Zitat Zum Seitenanfang

Naja, wie du siehst geht es auch so und stellt keinerlei Problem dar und imagemagick ist eben nicht immer verfügbar.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Mi 21.05.2008 10:59
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
 
Ä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?
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4, 5  Weiter
MGi Foren-Übersicht -> Programmierung


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.