2016-03-25 35 views
8

Ho molte app che si basano sul controllo del valore rgb basato su pixel tappati. Se tocco un pixel che restituisce 128/128/138, si apre questa particolare cosa da un array. Con 9.3 questo non funziona più mentre sto diventando pazzesco i valori dei colori restituiti.iOS 9.3 Gestione colore/Profili

Ho fatto un po 'di scavo e ho scoperto che iOS ora ha il supporto del profilo colore. I miei file non hanno alcun profilo associato. Questo sembra essere il problema.

Ogni display dalla retina 3 ha restituito saturazione leggermente diversa per la quale ho dovuto regolare. Ma questo rivela un problema molto più grande (almeno per me).

C'è un modo per disabilitare la gestione dei profili colore in iOS 9.3? Se è così, forse un controllo per vedere che sistema operativo sono e lo disabilito solo allora? O forse aggiungere un profilo (ignorato sotto 9.3 così bene lì) che li farà funzionare su 9.3?

Grazie

risposta

2

La cosa migliore è quella di convertire tutto quello che sta disegnando a schermo (e quindi prendendo come pixel) per lo spazio colore restituito da CGColorSpaceCreateDeviceRGB(). Usando questo spazio colore, il sistema di compositing saprà di non effettuare più conversioni sui tuoi dati.

Direttamente dai documenti: "I colori in uno spazio colore dipendente dal dispositivo non vengono trasformati o modificati in altro modo quando vengono visualizzati su un dispositivo di output ...".

+0

Si dice che i file non sono contrassegnati. In tal caso, la tua ipotesi migliore come spazio cromatico di origine sarà sRGB (ma con le immagini taggate puoi stare meglio, in questo modo otterrai risultati molto migliori). – Alex

+0

CGColorSpaceCreateDeviceRGB() ha causato il comportamento dei colori tra Air 2 e Pro ma i dispositivi meno recenti erano diversi (ovviamente). Ho finito per controllare un intervallo + 1/-1 di ciascun valore rgb per restituire una corrispondenza e sembra aver fatto ciò di cui avevo bisogno. Lo spazio colore ora non è un problema, il SO del dispositivo e la profondità dello schermo non sono un problema. – malaki1974