2011-05-09 37 views
-1

我認爲這取決於電腦顯示器...... 但它取決於操作系統?十六進制顏色值在低級計算中如何工作?

例如,顏色代碼:#ff0000, #2e2e2e - 使用三個字節,顯然...... 但這些數據(顏色代碼)如何在最低級別解釋? 應用程序如何在最低級別渲染顏色?

在此先感謝!

回答

3

這些代碼是0到255之間的三個整數的緊湊表示法:紅色,藍色和綠色。

它們通過視頻卡使用RGB color model呈現。

1

計算機使用RGB顏色模型。在RGB中,所有東西都以黑色開始,然後在其上添加一些紅色/綠色/藍色。您添加的每種顏色越多,它獲得的亮度越高。添加等量的紅色/綠色/藍色將創建灰色陰影(如果添加了所有三種顏色的最大可能值,則爲白色)。我們可以看到最大的光線是白色的,而光線可以用不同的波長來指定它的顏色,如果我們看到一個顏色,紅色,綠色和藍色的光線,它們在我們眼中看起來是白色的,用放大鏡看你的電腦屏幕,你可以看到它有紅色的綠色和藍色的點,當它們是白色時,它們都會亮起)。

您提到的顏色代碼是「十六進制」顏色代碼。這是三個十六進制數字連接在一起。 #ff0000是「ff紅色」,「00綠色」,「00藍色」。 ff是以十六進制表示的最高兩位數字(它以標準十進制格式計算爲255),而00是最小可能的兩位數字(0表示十進制數字)。

#2e2e2e是每個紅色/綠色/藍色的2e,因此會產生灰色陰影。 2e對於47來說是十六進制的,它比0更接近255,所以它創建了一個深灰色。

十六進制是一個「16位」數字格式,與我們使用的10位格式相比,它是10位。這意味着你可以使用更少的數字來獲得更大的數字,而16位恰巧可以更容易地用於硬件視頻卡。爲十六進制系統可能的數字是:約RGB http://en.wikipedia.org/wiki/Hexadecimal

  • 更多信息:

    f, which is 15 in decimal 
    e, which is 14 
    d, which is 13 
    c, 12 
    b, 11 
    a, 10 
    9, which is 9 in decimal 
    8, which is 8 
    7, 7 
    6, 6 
    5, 5 
    4, 4 
    3, 3 
    2, 2 
    1, 1 
    0, 0 
    
  • 1

    RGB被視爲紅色,綠色,藍色,每個值都是從0到255的整數(含)。例如,您可以將紅色表示爲(255,0,0)或#FF0000或其他許多不同的方式。

    無論使用什麼軟件,顏色都會告訴操作系統的圖形驅動程序輸出到您的顯示器。它們從操作系統到操作系統有所不同,但是從端口輸出的輸出必須標準化爲硬件。

    http://en.wikipedia.org/wiki/RGB_color_model#RGB_devices

    1

    有時候,它可以依賴於操作系統。較舊版本的Mac OS和Next使用與監視器自然生成的伽瑪係數不同的RGB值。他們的視頻系統會在顯示這些值之前轉換這些值。今天你將會遇到sRGB,這是微軟和惠普在創建時指定平均顯示系統的嘗試。有時你會遇到其他系統,比如Adobe RGB,它可以顯示比sRGB更多的顏色。