Hướng dẫn php string to hex - chuỗi php thành hex

Tôi đồng ý với SJE397 ở trên rằng màu sắc hoàn toàn ngẫu nhiên có thể trông thật khó chịu. Thay vì lập một danh sách dài các màu sắc đẹp mắt, tôi sẽ khuyên bạn nên chọn giá trị phát quang+độ phát quang không đổi và thay đổi màu sắc dựa trên nội dung. Để có được màu RGB từ màu HSL, bạn có thể sử dụng một cái gì đó tương tự như những gì được mô tả trong http://en.wikipedia.org/wiki/hsl_and_hsv#converting_to_rgb.

Dưới đây là một ví dụ (hãy thử nó trong http://codepad.viper-7.com Một cái gì đó hoạt động, chẳng hạn như https://codepad.remoteinterview.io/zxbmzwyjfo):

 $word) {
    $col = hsl2rgb($h/0xFFFFFFFF, 0.4, 1);
    printf('%s ', $col, $word);
}
?>

Tạo màu duy nhất dựa trên đầu vào văn bản

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

/*
* Xuất ra đầu vào văn bản dựa trên màu (#000000)
*
* @param $ chuỗi văn bản của văn bản
* @param $ min_brightness số nguyên từ 0 đến 100
* @param $ số nguyên spec trong khoảng 2-10, xác định mức độ độc đáo của mỗi màu
*/
functionGencolorCodeFromtext ($ text, $ min_brightness = 100, $ spec = 10) genColorCodeFromText($text,$min_brightness=100,$spec=10)
{
// Kiểm tra đầu vào
if (! is_int ($ min_brightness)) ThrownewException ("$ min_brightness không phải là một số nguyên");(!is_int($min_brightness)) throw new Exception("$min_brightness is not an integer");
if (! is_int ($ spec)) ThrownewException ("$ spec không phải là một số nguyên");(!is_int($spec)) throw new Exception("$spec is not an integer");
if($spec < 2 or $spec > 10) throw new Exception("$spec is out of range");
if($min_brightness < 0 or $min_brightness > 255) throw new Exception("$min_brightness is out of range");
$ Hash = md5 ($ text); // gen băm văn bảnhash = md5($text); //Gen hash of text
$ colors = mảng ();colors = array();
for ($ i = 0; $ i$i=0;$i<3;$i++)
$ Màu *255), $ min_brightness)); // chuyển đổi băm thành 3 giá trị thập phân trong khoảng từ 0 đến 255colors[$i] = max(array(round(((hexdec(substr($hash,$spec*$i,$spec)))/hexdec(str_pad('',$spec,'F')))*255),$min_brightness)); //convert hash into 3 decimal values between 0 and 255
if ($ min_brightness> 0) // chỉ kiểm tra các yêu cầu độ sáng nếu min_brightness khoảng 100($min_brightness > 0) //only check brightness requirements if min_brightness is about 100
WHER( array_sum($colors)/3 < $min_brightness ) //loop until brightness is above or equal to min_brightness
for ($ i = 0; $ i$i=0;$i<3;$i++)
$ Màu *255), $ min_brightness)); // chuyển đổi băm thành 3 giá trị thập phân trong khoảng từ 0 đến 255colors[$i] += 10; //increase each color by 10
if ($ min_brightness> 0) // chỉ kiểm tra các yêu cầu độ sáng nếu min_brightness khoảng 100output = '';
for ($ i = 0; $ i$i=0;$i<3;$i++)
$ Màu *255), $ min_brightness)); // chuyển đổi băm thành 3 giá trị thập phân trong khoảng từ 0 đến 255output .= str_pad(dechex($colors[$i]),2,0,STR_PAD_LEFT); //convert each color to hex and append to output
if ($ min_brightness> 0) // chỉ kiểm tra các yêu cầu độ sáng nếu min_brightness khoảng 100 '#'.$output;
WHER
$ Màu sắc [$ i] += 10; // Tăng từng màu lên 10