Fileupload, Bilder, dpi

Hallo,
Ok, ich kapiers einfach nicht. Ich habe eine Webseite, bei der man Bilder (jpg, gif, png, …) hochladen, sie sich online anschauen und falls gewünscht in ein PDF schreiben und dann ausdrucken kann. Alles andere ist auch kein Problem, aber für PDF und Druck sollte dieses Bild natürlich optimalerweise 300 dpi haben. Meine Fragen:

  1. Kann ich ein hochgeladenes Bild mit einer selbstgewählten dpi Zahl abspeichern oder aber die Auflösung sonstwie bei Speichern anpassen?

  2. wenn nicht, ist es wenigstens möglich, ein Bild, das beim Hochladen schon 300dpi hat, mit imagecopy(resampled) zu bearbeiten (in diesem Fall nen Bildausschnitt wählen), dann aber trotzdem mit den ursprünglcihen dpi am Server zu speichern ? Bei mir wirds nach dem imagecopyresampled immer irgendwie automatisch 72 dpi und das kapier ich einfach nicht.

Hat jemand Tipps/Links/ne Idee? Bin für alles dankbar.

Gruß
Chi

PS: Ich bin kein Grafiker und daher is das Konzept dpi/Auflösung generell ein Rätsel für mich. Wenn ich also davon spreche, dass mein jpg nach einem imagecopyresampled und dem speichern aufn webserver nur noch 72 dpi hat, heißt das, ich hab das entsprechende Bild mit photoshop geöffnet und unter image size -> resolution nachgesehn, was photoshop ihm für ne Auflösung zuschreibt. Ich hoff mal, wenigstens das is richtig.

Hallo Christine,

warum das mit der GD-Library so funktioniert, gute Frage. Ich habe eine dunkle Erinnerung, dass man zumindest die GD2-Bib auf einen festen Auflösungswert einstellt, außerdem ist die GD-Bib insb. mächtig bei der Generierung von Grafiken per Kommando (also text über einen Hintergrund legen, etc. Insgesamt ist die Bib für Internet (also Screen) Use konzipiert (=72/96dpi).

Für Deine Anwendung taugt die ImageMagick-Bibliothek.
Ich schlage Dir vor, entweder eine ImageMagick-Installation auf Deinem Webserver über php-shell commands anzusprechen, oder die experimentelle IMagick-API zu nutzen.
–> http://de2.php.net/imagick

Alternativ kannst Du MagickWand benutzen, das ist aber deutlich komplexer.

LG
Sebastian.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Für Deine Anwendung taugt die ImageMagick-Bibliothek.
Ich schlage Dir vor, entweder eine ImageMagick-Installation
auf Deinem Webserver über php-shell commands anzusprechen,
oder die experimentelle IMagick-API zu nutzen.
–> http://de2.php.net/imagick

Danke, aber leider kommt ImageMagick und alles andere, was man zusätzlich am Webserver installiern (lassen) muss aufgrund der Umstände nich in frage. Und, wenn ich das richtig verstanden hab, muss man ja auch um die IMagick API nutzen zu können, irgendwas am Server installiert haben. Ich brauch aber was, was überall funktioniert, ohne vorher was am Server machen zu müssen. Hast du vielleicht sonst ne Idee ?

Hi Christine,

leider muss ich passen - die PHPWelt hat entweder GD oder ImageMagick. Wie sieht denn folgende Idee aus:

Das Ändern der Auflösung (engl.: resolution) von 72 -> 300 bewirkt ja eine Verkleinerung des Bildes um den Faktor 4,16. Mit welchem PDF-Tool willst Du denn deine PDFs erstellen? Vielleicht ist da eine Funktion drin, sodass Du die Bilder mit image…resample auf einen 4.16 mal größeres Format bringst, dann aber mit 72dpi, und anschließend vom PDF-Tool wieder hochsamplest!? Ich könnte mir vorstellen (ohne es überprüft zu haben) dass fpdf das kann…

LG & viel Erfolg,
Sebastian.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
Ok, ich kapiers einfach nicht. Ich habe eine Webseite, bei der
man Bilder (jpg, gif, png, …) hochladen, sie sich online
anschauen und falls gewünscht in ein PDF schreiben und dann
ausdrucken kann. Alles andere ist auch kein Problem, aber für
PDF und Druck sollte dieses Bild natürlich optimalerweise 300
dpi haben. Meine Fragen

php hat keine eingebauten funktionen mit denen sich dpi auslesen oder setzen liessen.
evtl. hilft dir die php-erweiterung magick weiter, ansonsten ueber identify, wie vom vorposter beschrieben.

fuer dein pdf brauchst du keine aufloesung, da du eh sagst: platziere diese bidl bei x,y und zeige es 20x30mm gross an.

zum verstaendnis: dpi/aufloesung ist nur ein zahl, die dem drucker sagt drucke dieses bild 9x12cm gross. wenn die dpi geaendert werden, kann das bild 100x100pixel gross bleiben (option bild neu berechnen im photoshop dialog).