2012-09-07 100 views
3

我必須使用RGB值設置div的backgroundColor。我能夠得到這種方式。作爲背景的CMYK值顏色

<div style="width: 100px; height: 100px; background-color: rgb(255,0,0)"> 
</div> 

現在,因爲我也有CMYK(0,1,0.5,0)值,這樣可以幫助我如何實現相同的這些值。

我這樣做,但沒有收穫。

<div style="width: 100px; height: 100px; background-color: device-cmyk(0, 1, 0.5, 0)"> 
</div> 

感謝

回答

2

不能在CSS直接做到這一點。您必須將CMYK值轉換爲其他地方的RGB對應值(可能通過服務器端腳本),並在CSS中使用轉換後的值。請注意,轉換實際上與SVG功能的功能沒有多大區別。

2

你可以使用這個PHP函數,或者使用類似的算法由客戶端腳本語言實現:

function cmyk_to_rgb2($c, $m, $y, $k) 
{ 
    $c = (255 * $c)/100; 
    $m = (255 * $m)/100; 
    $y = (255 * $y)/100; 
    $k = (255 * $k)/100; 

    $r = round(((255 - $c) * (255 - $k))/255) ; 
    $g = round((255 - $m) * (255 - $k)/255) ; 
    $b = round((255 - $y) * (255 - $k)/255) ; 

    $o->r = $r ; 
    $o->g = $g ; 
    $o->b = $b ; 

    return $o ; 
} 

PHPJavaScript

+1

我對這個瘋狂的演示:http://jsbin.com/ celos/1/ – 2014-03-25 13:48:22

+0

請不要像這樣濫用PHP。這就是網頁加載時間過長的原因。是的,這是真的,只有這個小片段不會減慢任何可衡量的數量。但是,對於整個代碼中使用的其他代碼片段,將其乘以一百,並且對於您自己來說存在主要的加載速度問題。 –