![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Thomas Seifert, 01. 07. 2009, 12:13
Hallo alle zusammen,
hat jemand eine Idee wie man mittels PHP script an die Header (nicht exif, nicht ipct) Daten eines JPG´s ran kommt?
Mittels PHP internen Funktionen wird es sicher nicht gehen. Aber vielleicht kennt jemand ein Script welches solche Daten auslesen kann.
Was auch schon eine starke Hilfe wäre wenn ich wüßte wie CMYK allgemein im JPG gespeichert wird.
Ziel ist es herauszufinden ob ein jpg Bild im RGB oder CMYK gespeichert wurde.
Danke schonmal für Eure Hilfe
Die folgende Nachricht zum Thema stammt von: schwarze Piste, 01. 07. 2009, 12:19
Tachchen!
»» Ziel ist es herauszufinden ob ein jpg Bild im RGB oder CMYK gespeichert wurde.
Kann überhaupt schon ein Browser mit anderen Profilen als sRGB umgehen?
Oder ist das irrelevant für das eigentliche Ziel deines Projekts?
Gruß
Die schwarze Piste
--
unbezahlbare Fotografie
Die folgende Nachricht zum Thema stammt von: Thomas Seifert, 01. 07. 2009, 12:21
der neue firefox kann es. aber das vollkommen irrelevant für das ziel :)
»» Kann überhaupt schon ein Browser mit anderen Profilen als sRGB umgehen?
»» Oder ist das irrelevant für das eigentliche Ziel deines Projekts?
Die folgende Nachricht zum Thema stammt von: Dennis, 01. 07. 2009, 13:07
Hi Thomas,
»» der neue firefox kann es. aber das vollkommen irrelevant für das ziel :)
Firefox 3.5 soll CMYK JPGs darstellen können? Kann ich so nicht bestätigen, Firefox zeigt solche Bilder zwar an, aber die Farben werden komplett falsch dargestellt. Öffne ich das selbe Bild mit der normalen Windows-Bildanzeige werden die Farben korrekt dargestellt.
Viele Grüße,
~ Dennis.
--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Die folgende Nachricht zum Thema stammt von: schwarze Piste, 01. 07. 2009, 14:00
Tachchen!
»» Firefox 3.5 soll CMYK JPGs darstellen können? Kann ich so nicht bestätigen, Firefox zeigt solche Bilder zwar an, aber die Farben werden komplett falsch dargestellt.
Das war auch meine Erfahrung, obwohl ich schon für FF 3.0 Colormanagement-
fähigkeiten erlesen zu haben glaubte. Jetzt bin ich schlauer:
https://developer.mozilla.org/En/ICC_color_correction_in_Firefox
... mal sehen, ob er jetzt nur überhaupt ein Colormangement besitzt oder
ob er wirklich zwischen verschiedensten Farbprofilen aus den den
RGB- und CMYK-Farbräumen unterscheiden kann.
Gruß
Die schwarze Piste
--
unbezahlbare Fotografie
Die folgende Nachricht zum Thema stammt von: Thomas Seifert, 01. 07. 2009, 14:09
»» »» Firefox 3.5 soll CMYK JPGs darstellen können? Kann ich so nicht bestätigen, Firefox zeigt solche Bilder zwar an, aber die Farben werden komplett falsch dargestellt.
»»
»» Das war auch meine Erfahrung, obwohl ich schon für FF 3.0 Colormanagement-
»» fähigkeiten erlesen zu haben glaubte. Jetzt bin ich schlauer:
»» https://developer.mozilla.org/En/ICC_color_correction_in_Firefox
da mögt ihr wohl recht haben, aber zumindest stellt es der FF schonmal dar im Gegensatz zum roten Kreuzchen vom ie :)
Die folgende Nachricht zum Thema stammt von: Tom, 01. 07. 2009, 12:51
Hello,
das ist jetzt nur geraten, aber es könnte im Feld
"Units used for Resolution" signiert sein.
typedef struct _JFIFHeader
{
BYTE SOI[2]; /* 00h Start of Image Marker */
BYTE APP0[2]; /* 02h Application Use Marker */
BYTE Length[2]; /* 04h Length of APP0 Field */
BYTE Identifier[5]; /* 06h "JFIF" (zero terminated) Id String */
BYTE Version[2]; /* 07h JFIF Format Revision */
BYTE Units; /* 09h Units used for Resolution */
BYTE Xdensity[2]; /* 0Ah Horizontal Resolution */
BYTE Ydensity[2]; /* 0Ch Vertical Resolution */
BYTE XThumbnail; /* 0Eh Horizontal Pixel Count */
BYTE YThumbnail; /* 0Fh Vertical Pixel Count */
} JFIFHEAD;
1=grayscale
3=RGB
Da könnte dann doch 4 für CMYK stehen, oder?
Lass Dir doch mal die ersten 16 Bytes von unterschiedlichen JPEGs hexadezimal listen und poste sie hier für uns alle.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
Die folgende Nachricht zum Thema stammt von: Thomas Seifert, 01. 07. 2009, 13:59
»» 1=grayscale
»» 3=RGB
»»
»» Da könnte dann doch 4 für CMYK stehen, oder?
ja das die Lösung
nach 45h Googlen und Fragen hab ich auch die einfachste Antwort drauf gefunden
$size = getimagesize($filename);
rückgabe:
channels hat für RGB-Grafiken den Wert 3, für CMYK den Wert 4. bits entspricht der Anzahl der Bits pro Farbe.....
einfacher als man gedacht hat
Die folgende Nachricht zum Thema stammt von: EisFuX, 01. 07. 2009, 13:54
(Hallo|Hi(ho)|Mahlzeit) Thomas Seifert,
»» hat jemand eine Idee wie man mittels PHP script an die Header (nicht exif, nicht ipct) Daten eines JPG´s ran kommt?
Ich hatte mir (schon vor längerer) Zeit ein Script zusammengedengelt, welches die Segmente einer JPEG|JIF-Datei auslesen,
kopieren und entfernen konnte (das Ziel war das entfernen unnötiger Kommentar-Segmente). Mal sehen, ob ich das wiederfinde.
Von CMYK-JPEGs war mir da aber noch nichts bekannt. Der einzigen Hinweis, den ich auf die Schnelle gefunden habe,
steht in der Wikipedia. Dort wird ausdrücklich darauf hingewiesen, dass diese Adobe-CMYK-JPEGs nicht mit JFIF kompatibel sind --
was den "geratenen" Rat mit dem JFIF-App-Segment von Tom leider unbrauchbar machen würde.
»» Mittels PHP internen Funktionen wird es sicher nicht gehen.
Naja, fread() und unpack() sind schon interne Funktionen. Aber natürlich wissen die nichts von JIF-App-Segmenten. ;-)
Hast du dir schon mal angesehen, was getimagesize() in die Variable für den Parameter "imageinfo" schreibt?
... und mit "gewöhnlichen" JPEG-Dateien verglichen?
»» Was auch schon eine starke Hilfe wäre wenn ich wüßte wie CMYK allgemein im JPG gespeichert wird.
Das wäre sicher einfach herauszufinden, wenn ich eine solche Datei zur Verfügung hätte.
»» Ziel ist es herauszufinden ob ein jpg Bild im RGB oder CMYK gespeichert wurde.
MffG
EisFuX
--
Nichts ist dem Zuwachs an Wissen förderlicher, als nach einer Antwort korrigiert zu werden.
Die folgende Nachricht zum Thema stammt von: EisFuX, 01. 07. 2009, 14:07
Nachtrag:
»» »» Ziel ist es herauszufinden ob ein jpg Bild im RGB oder CMYK gespeichert wurde.
Höchstwahrscheinlich werden solche JPEGs durch einem APP14-Marker gekennzeichnet.
Denn erkennt man an der Bytefolge 0xFFEE, danach kommen zwei Bytes, die die Länge
des Segments kennzeichnen. Und danach irgendeine Struktur, aus der man hoffentlich
was brauchbares auslesen kann.
MffG
EisFuX
--
Nichts ist dem Zuwachs an Wissen förderlicher, als nach einer Antwort korrigiert zu werden.
Die folgende Nachricht zum Thema stammt von: luti, 01. 07. 2009, 13:56
Hallo,
»» Was auch schon eine starke Hilfe wäre wenn ich wüßte wie CMYK allgemein im JPG gespeichert wird.
Also soweit ich weiß, kannst Du ein JPG gar nicht im CMYK-Farbraum speichern ... Intern wird ein JPG wohl in den YCbCr-Farbraum überführt, der sich verlustfrei in den RGB-Farbraum konvertieren lässt und umgekehrt (zumindest nach diesem Post), bei CYMK ist dies nicht möglich.
Gruß, luti
© 1998-2008
Impressum, Software: Classic Forum