2011-09-09 11 views
9

Potrzebuję użyć niestandardowych kolorów w mojej aplikacji. Znalazłem kilka ciekawych kolorów HTML i ich konwersji do wartości RGB następnie zastosować je:Objective-c HTML-> kolory RGB są nieprawidłowe w UIColor

[UIColor colorWithRed:235 green:242 blue:212 alpha:1] 

Problemem jest uzyskany kolor w mojej aplikacji nie jest poprawna. Czasami jest po prostu biały, a innym razem jest po prostu zbyt daleko. Czerwień może być żółta itd.

Czy ktoś już kiedyś to widział? Czy niewłaściwie przetwarzam kolory, czy coś.

Odpowiedz

28

Wystarczy podzielić wszystkie pokolorować wartości od 255:

[UIColor colorWithRed:235/255.0f green:242/255.0f blue:212/255.0f alpha:1] 
+4

Chciałem tylko dodać, że przyrostek .0f jest bardzo ważny. Na początku użyłem twojego kodu, a kolor, który dostałem, był zupełnie inny. Po prostu używając 57/255 (powiedzmy), nie tnij go. Więc do wszystkich innych używających tej odpowiedzi, nie zapomnij dodać .0f, w przeciwieństwie do mnie :)) – BBog

5

Zakres prawidłowych wartości parametrów do +colorWithRed:green:blue:alpha:is 0 to 1. Zakładając, że wartości RGB mają zakres od 0 do 255, Twój przykład byłoby:

[UIColor colorWithRed:0.92f green:0.95f blue:0.83f alpha:1.f]; 
+0

Wielkie rzeczy, dzięki. Jak przekonwertować numery, które mam, na poprawny format? – conor

+2

Podziel je przez 255. –

0

Wystarczy użyć tej metody w .m

-(float)getColorValue:(float)colorVal 
{ 
    return colorVal/255; 
} 

definicja oświadczyć w ncurses.h

-(float)getColorValue:(float)colorVal 

Przykład:

[UIColor colorWithRed:[self getColorValue:227] green:[self getColorValue:227] blue:[self getColorValue:227] alpha:1.0]; 
+0

Co za długa droga zrobić prostą rzecz – Mutawe

Powiązane problemy