Q
PHP生成RGB
6
A
回答
25
使用密碼散列和剪輯的字節你不需要:
function getColor($num) {
$hash = md5('color' . $num); // modify 'color' to get a different palette
return array(
hexdec(substr($hash, 0, 2)), // r
hexdec(substr($hash, 2, 2)), // g
hexdec(substr($hash, 4, 2))); //b
}
所得的(code to generate it)看起來像這樣的數字0-20:
1
顯而易見的方法是將ID轉換爲顏色(例如,低8位是藍色,接下來的8位是綠色,接下來的8位是紅色 - 留下8位,但我相信你可以弄清楚;-)
假設這不起作用(因爲你結束了一個可怕的調色板: 使用數組(或哈希表),使ID的映射顏色
如果你關注如果ID太多,那麼你可以將一些散列應用到ID上,並在你輸入「id to color」映射時使用它,在這種情況下,你有效地說一個id總是有一種顏色,但是一種顏色可以是由許多ID使用。
1
<?php
// someting like this?
$randomString = md5($your_id_here); // like "d73a6ef90dc6a ..."
$r = substr($randomString,0,2); //1. and 2.
$g = substr($randomString,2,2); //3. and 4.
$b = substr($randomString,4,2); //5. and 6.
?>
<style>
#topbar { border-bottom:4px solid #<?php echo $r.$g.$b; ?>; }
</style>
0
如果數組總是排序,那麼可以使用這個多達250個項目:
<?php
function getRGBColorString($array)
{
$indexColor = round(250/count($array));
$iterator = 1;
$arrayOfRGB = array();
foreach($array as $item)
{
$arrayOfRGB[] = "rgb(" . ($indexColor * $iterator) . ", 113, 113)";
$iterator++;
}
return $arrayOfRGB;
}
?>
相關問題
- 1. 在PHP中生成RGB漸變色的算法
- 2. 從RGB生成可讀的顏色?
- 3. 生成RGB顏色儘可能
- 4. PHP - 從RGB
- 5. Php生成XML
- 6. PHP URL生成
- 7. PHP - 生成JavaScript
- 8. 生成PHP
- 9. 生成PHP
- 10. PHP生成html
- 11. 生成PHP
- 12. 生成從PHP
- 13. php生成webcal
- 14. cmyk to rgb using php
- 15. 從php生成的CSV生成Highcharts
- 16. iOS SDK界面生成器的RGB滑塊產生與UIColor不同的顏色與RGB
- 17. 生成PDF的PHP
- 18. PHP KML生成器
- 19. 自動生成PHP
- 20. PHP生成過程
- 21. 生成PHP td值
- 22. 用PHP生成PDF
- 23. 生成XML與PHP
- 24. 生成PHP接口
- 25. 爲PHP生成JSON
- 26. PHP/MySQL生成表
- 27. 用PHP生成JSON
- 28. php生成圖像?
- 29. 生成PHP到Javascript
- 30. JS生成一個圖像中的每個像素的RGB
到目前爲止,您是否有任何代碼(或僞代碼)? – summea 2012-02-08 00:12:15
什麼是位分裂? Bit0-> Bit7-> R,Bit1-> Bit7-> G,Bit2-> Bit7,Bit3-> Bit6,雖然這很複雜,但它給出了非常不同的顏色,只要ID空間不是太大。 – 2012-02-08 00:14:33