Kolor tekstu na podstawie obrazu tła
Mój widok ma obraz tła z nakładką na etykietę tekstową Jaki jest najlepszy/dobry dynamiczny sposób określania koloru tekstu na podstawie obrazu tła, aby mógł być czytelny (na razie interesuje mnie tylko ustalenie, czy kolor tekstu powinien być ciemny czy jasny)
Dzięki:)
2 answers
Znajdź średni kolor z podanym linkiem
Następnie stylizuj tekst
CGFloat red = 0.0, green = 0.0, blue = 0.0, alpha = 0.0;
[averageColor getRed:&red green:&green blue:&blue alpha:&alpha];
int threshold = 105;
int bgDelta = ((red * 0.299) + (green * 0.587) + (blue * 0.114));
UIColor *textColor = (255 - bgDelta < threshold) ? [UIColor blackColor] : [UIColor whiteColor];
CoÅ› w tym stylu.
Możesz również użyć powyższego linku, aby uzyskać UIColor
z obrazu i użyć kategorii Matta, aby UIColor stał się jasny lub ciemny.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-09 14:42:16
Moim pierwszym jest znalezienie średniego koloru obrazu i ustawienie koloru tekstu na podstawie tego. Oczywiście obrazy mogą zawierać jasne i ciemne obszary, więc wybrany kolor może być czasami nieczytelny.
Aby znaleźć średni kolor obrazu, spróbuj tego:
Http://www.bobbygeorgescu.com/2011/08/finding-average-color-of-uiimage/
Gdy masz średni kolor, sprawdź wartości czerwony, zielony i niebieski. Jeśli są "wystarczająco wysokie" (cokolwiek zdefiniujesz, że as), użyj ciemnego tekstu, w przeciwnym razie użyj jasnego tekstu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-18 18:10:50