Das von meinem Server geladene Bild weist in der iPad App falsche Farben auf

8

Ich entwickle eine iPad App, die Bilder von einem Fotografen zeigt. Diese Fotos werden auf einen Webserver hochgeladen und direkt über die App bereitgestellt, wo sie heruntergeladen und mit der folgenden Methode angezeigt werden:

%Vor%

Ich kann eine ernsthafte Änderung in der Anzeige der Farben der Fotos zwischen dem Originalbild (das ist dasselbe, wenn es von der Disk oder aus dem Web auf meinem Mac und dem Mac des Fotografen angezeigt wird) und auf dem iPad (das Ergebnis) beobachten ist falsch in der App und sogar in Safari).

Nach einigem Suchen habe ich einige Posts gefunden, die erklären, dass iDevices kein eingebettetes Farbprofil verwendet, also habe ich festgestellt, dass ich diesen Weg gehen würde. Die Fotos werden mit den folgenden Informationen gespeichert:

Ich habe es in einigen Artikeln herausgefunden (zum Beispiel diesen Link von imageoptim oder analogsenses) dass ich das Bild für den Geräteexport speichern soll, indem ich es in sRGB umwandle, ohne das Farbprofil einzubetten, aber ich kann nicht herausfinden, wie ich das machen könnte? Jedes Mal, wenn ich es versuchte (ich habe keinen Photoshop, also habe ich die Kommandozeile ImageMagick benutzt), hat das resultierende Bild die folgenden Informationen und wird immer noch nicht korrekt auf meinem iPad angezeigt (und anderen iPads, die ich getestet habe):

Hier ist ein Beispiel für ein Bild, das nicht korrekt auf dem iPhone oder iPad angezeigt wird, aber auf das Web

Ich möchte es umwandeln, um es richtig darzustellen, jede Idee wäre wirklich willkommen:)

[EDIT] Es ist mir gelungen, ein korrektes Bild mit den "save for web" -Optionen von Photoshop zu erhalten, indem ich folgende Parameter verwende: Aber ich kann diese Einstellungen nicht automatisch auf alle meine Bilder anwenden.

    
PhilippeAuriach 08.05.2016, 17:28
quelle

3 Antworten

1

Um ein Bild zu lesen, verwenden Sie einfach:

%Vor%

Was das Problem mit dem Farbprofil betrifft, versuchen Sie das Befehlszeilenprogramm sips , um die Bilddateien zu reparieren. Etwas wie:

%Vor%     
EricS 08.05.2016, 21:27
quelle
0

Sie können zuerst den Farbraum durch CGImage erhalten.

%Vor%

Und depping des colorSpace wenden eine Formatkonvertierung an. Um also den Farbraum eines Bildes zu erhalten, tun Sie Folgendes:

%Vor%

Hinweis: Achten Sie darauf, den Regeln für get / create / copy für CG-Objekte zu folgen.

Farbkonvertierung in RGB8 (kann auch auf RGB16 oder RGB32 angewendet werden, indem die Bits pro Komponente in der Methode newBitmapRGBA8ContextFromImage geändert werden):

%Vor%

ImageHelper.h

%Vor%

ImageHelper.m

%Vor%     
Pau Senabre 17.05.2016 09:27
quelle
0

@PhilippeAuriach Ich denke, Sie könnten ein Problem mit [UIImage imageWithCGImage:cgImage] haben, mein Vorschlag ist [UIImage imageWithContentsOfFile:path] anstelle von oben zu verwenden.

Der folgende Code könnte Ihnen helfen.

%Vor%     
iMHitesh 17.05.2016 10:19
quelle

Tags und Links