有沒有簡單的方法來確定一個的UIColor太暗或太亮?我想在動態背景上添加標籤,如果背景爲黑色,則將其文本顏色更改爲白色,如果背景爲淺色,則將其改爲黑色。
-1
A
回答
5
我沒有測試過這一點,但它可能爲你工作...
-(BOOL) isLightColor:(UIColor*)clr {
CGFloat white = 0;
[clr getWhite:&white alpha:nil];
return (white >= 0.5);
}
+1
上面的代碼只有在顏色爲灰度的情況下才有效,如果是RGB則返回白色的值爲0.請檢查下面的代碼效果更好: – Paulo
2
計算你的標籤和背景之間的色彩對比,並從那裏對你的顏色決定。通常,這將涉及獲取有問題的顏色的組件。
如果你谷歌「計算顏色對比度」沒有報價,你會發現一些鏈接。你可能找不到特定於iOS的任何東西,但是你應該能夠調整你找到的代碼,尤其是因爲它們通常涉及RGB的功能,這很簡單。
相關問題
- 1. 如何確定OpenCV中的像素是黑色還是白色?
- 2. 如何檢查NSString中的十六進制顏色在Objective C中是淺色還是黑色?
- 3. 顏色白色和黑色,黑色的應該是在第一
- 4. 顏色過渡總是先從黑色
- 5. 根據背景決定textColor應該是白色還是黑色
- 6. Android DialogFragment文本顏色是白色而不是黑色
- 7. 顏色:如果背景爲黑色,則爲白色,當爲淺色時爲黑色
- 8. 爲fa-comments或其他圖標改變淺黑色的顏色?
- 9. 檢測是否UIVisualEffectView下面顏色淺
- 10. 確定圖像是黑白圖像還是彩色圖像
- 11. 匹配windows系統顏色:淺色
- 12. java只產生隨機「淺色」顏色
- 13. 當它的bg顏色設置爲黑色時,UINavigationBar是白色
- 14. 如何通過代碼判斷iPad是黑色還是白色?
- 15. Photoshop顏色邊框黑色
- 16. UINavigationBar顏色褪色,而不是正確的顏色
- 17. C#自定義顏色黑色
- 18. iText頁面顏色或黑色/白色
- 19. Spanable串色結果黑色顏色
- 20. StatusBar背景黑色,UIAlertView背景黑色,一切都是黑色
- 21. 過濾掉灰度色,去掉淺灰色,保持黑色
- 22. 使用HSV顏色空間更改白色和黑色顏色
- 23. 使背景顏色變淺
- 24. 獲取二進制圖像的最主要顏色。它是黑色還是白色?
- 25. Android的通知圖標的顏色是不是變成灰色當底色是淺
- 26. 採樣是黑色
- 27. 背景是黑色
- 28. 給定背景顏色,黑色或白色文本?
- 29. 尋找暗色/淺色
- 30. Matplotlib - 爲什麼條形圖線的顏色是黑色的?
重複的問題。 [http://stackoverflow.com/questions/2509443/check-if-uicolor-is-dark-or-bright][1] [1]:HTTP://計算器。 com/questions/2509443/check-if-uicolor-is-dark-or-bright –