Tôi đang làm việc trên dự án cửa hàng động và tôi sử dụng vòng lặp để in tất cả các tùy chọn màu cho sản phẩm làm hộp màu, tuy nhiên tôi thực sự cần thêm "đường viền" vào các màu này đó là ánh sáng. Tôi cố gắng một cái gì đó như sau nhưng Nó là rất hạn chế, nó thực sự giới hạn màu trắng duy nhất, nó sẽ không bắt cái gì đó như #ddd, #eea ... vvLàm cách nào để phát hiện màu "ánh sáng" với PHP
Đây là vòng lặp của tôi:
foreach($colors as $color) {
$color = trim($color);
if (!empty($color)) {
if (in_array($color, array('white','White','#fff','#FFF','#FFFFFF','#ffffff'))) {
$bordercolor = '#bbb';
} else {
$bordercolor = $color;
}
}
}
Màu sắc là một mảng từ chương trình phụ trợ như: Trắng, # 000, # cc0000, v.v. Không thực tế để thêm tất cả ngoại lệ trong điều kiện if/else nữa, bất kỳ ý tưởng nhanh nào?
Google cho ' RGB TO HSV (HSL) '- Giá trị bão hòa Hue (Độ sáng). Giá trị độ sáng cao hơn là màu sáng hơn. – Peter
Câu hỏi này có thể giúp bạn: [RGB to HSV in PHP] (http://stackoverflow.com/q/1773698/112968). Sau đó bạn có thể chỉ cần kiểm tra các giá trị của V trên một ngưỡng nhất định. – knittl
http://stackoverflow.com/questions/5614011/intelligent-color-detection kiểm tra điều này –