สีจริง (24- บิต) ที่Wikipediaอธิบายไว้ในส่วนที่เกี่ยวข้องดังนี้
24 บิตมักจะใช้ 8 บิตของแต่ละ R, G, B ณ ปี 2018 ความลึกของสี 24 บิตถูกใช้โดยแทบทุกเครื่องคอมพิวเตอร์และโทรศัพท์หน้าจอโทรศัพท์และรูปแบบการจัดเก็บภาพส่วนใหญ่ เกือบทุกกรณีที่มี 32 บิตต่อพิกเซลหมายความว่า 24 ใช้สำหรับสีและ 8 ที่เหลือเป็นช่องอัลฟาหรือไม่ได้ใช้
2 24ให้ความหลากหลายของสี 16,777,216 สี ดวงตามนุษย์สามารถแยกแยะสีได้มากถึงสิบล้านสี[10]และเนื่องจากขอบเขตของการแสดงมีขนาดเล็กกว่าช่วงของการมองเห็นของมนุษย์นี่หมายความว่าสิ่งนี้ควรครอบคลุมช่วงนั้นโดยมีรายละเอียดมากกว่าที่สามารถรับรู้ได้ ...
...
ระบบ Macintosh อ้างถึงสี 24 บิตเป็น "ล้านสี" บางครั้งคำว่า "สีจริง" ใช้เพื่อหมายถึงสิ่งที่บทความนี้เรียกว่า "สีโดยตรง" [13]นอกจากนี้ยังใช้เพื่ออ้างถึงความลึกของสีทั้งหมดที่มากกว่าหรือเท่ากับ 24
สีทั้งหมด 16,777,216 สี
งาน
เขียนโปรแกรมที่สร้างและส่งกลับค่าสีทั้งหมด 16,777,216 สีภายในอาร์เรย์เป็นสตริงในrgb()
ฟังก์ชันCSS
5.1 ฟังก์ชั่น RGB:
rgb()
และrgba()
rgb()
ฟังก์ชั่นกำหนดสี RGB โดยการระบุช่องสีแดงสีเขียวและสีฟ้าโดยตรง ไวยากรณ์ของมันคือ:rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage>
อาร์กิวเมนต์สามตัวแรกระบุช่องสีแดงเขียวและน้ำเงินตามลำดับ
0%
แทนค่าต่ำสุดสำหรับช่องสีนั้นในช่วง sRGB และ100%
แสดงถึงค่าสูงสุด A<number>
เทียบเท่ากับ a<percentage>
แต่มีช่วงต่างกัน:0
แสดงค่าต่ำสุดสำหรับช่องสีอีกครั้ง แต่255
แสดงถึงสูงสุด ค่าเหล่านี้มาจากความจริงที่ว่าเอ็นจิ้นกราฟิกจำนวนมากเก็บช่องสีภายในเป็นไบต์เดียวซึ่งสามารถเก็บจำนวนเต็มระหว่าง 0 ถึง 255 การใช้งานควรเป็นไปตามความแม่นยำของช่องที่เขียนหรือคำนวณเมื่อใดก็ตามที่เป็นไปได้ หากไม่สามารถทำได้ช่องสัญญาณควรจะถูกปัดเศษเป็นค่าที่ใกล้เคียงที่สุดที่ใช้ความแม่นยำสูงสุดโดยปัดเศษขึ้นหากค่าสองค่าใกล้กันอาร์กิวเมนต์สุดท้ายคือ
<alpha-value>
, ระบุค่าอัลฟาของสี หากกำหนดเป็น a<number>
ช่วงที่มีประโยชน์ของค่าคือ0
(แสดงถึงสีโปร่งใสอย่างสมบูรณ์) ถึง1
(แสดงถึงสีทึบแสงเต็มที่) หากกำหนดเป็น a0%
หมายถึงสีโปร่งใสอย่างสมบูรณ์ในขณะที่100%
แสดงถึงสีทึบแสงอย่างสมบูรณ์100%
หากละเว้นเป็นค่าเริ่มต้นค่าที่อยู่นอกช่วงเหล่านี้ไม่ถูกต้อง แต่จะถูกยึดกับช่วงที่กำหนดที่นี่ในเวลาที่คำนวณได้
สำหรับเหตุผลดั้งเดิม
rgb()
สนับสนุนไวยากรณ์ทางเลือกที่แยกอาร์กิวเมนต์ทั้งหมดด้วยเครื่องหมายจุลภาค:rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )
นอกจากนี้สำหรับเหตุผลมรดกซึ่งเป็นฟังก์ชั่นยังมีอยู่มีไวยากรณ์ที่เหมือนกันและพฤติกรรม
rgba()
rgb()
หรือ#RRGGBB
รูปแบบสัญกรณ์ฐานสิบหก RGB
5.2 สัญลักษณ์เลขฐานสิบหก RGB:
#RRGGBB
สัญกรณ์สีฐานสิบหก CSS อนุญาตให้ระบุสีโดยให้ช่องเป็นตัวเลขฐานสิบหกซึ่งคล้ายกับวิธีการเขียนสีบ่อยๆในรหัสคอมพิวเตอร์โดยตรง นอกจากนี้ยังสั้นกว่าการเขียนสีเดียวกันใน
rgb()
สัญกรณ์ไวยากรณ์ของ a
<hex-color>
คือ<hash-token>
โทเค็นที่มีค่าประกอบด้วย 3, 4, 6 หรือ 8 หลักเลขฐานสิบหก กล่าวอีกนัยหนึ่งคือสีฐานสิบหกเขียนเป็นอักขระแฮช "#" ตามด้วยตัวเลข 0-9 หรือตัวอักษรจำนวนหนึ่ง (กรณีตัวอักษรไม่สำคัญ -#00ff00
เหมือนกัน#00FF00
)จำนวนเลขฐานสิบหกที่กำหนดจะกำหนดวิธีถอดรหัสสัญกรณ์ฐานสิบหกให้เป็นสี RGB:
6 หลัก
คู่แรกของตัวเลขที่ตีความว่าเป็นเลขฐานสิบหกระบุช่องสีแดงของสีโดยที่
00
แสดงถึงค่าต่ำสุดและff
(255 เป็นทศนิยม) หมายถึงจำนวนสูงสุด ตัวเลขคู่ถัดไปที่ตีความในลักษณะเดียวกันระบุช่องสีเขียวและคู่สุดท้ายระบุสีน้ำเงิน ช่องอัลฟาของสีทึบแสงเต็มที่ตัวอย่าง 2
กล่าวอีกนัยหนึ่ง#00ff00
หมายถึงสีเดียวกันกับrgb(0 255 0)
(สีเขียวมะนาว)
ดูแบบร่างแก้ไขของโมดูลสี CSS ระดับที่ 4
ตัวอย่าง
rgb()
ฟังก์ชั่นCSS ( สามารถแทนที่อักขระช่องว่างสำหรับอักขระจุลภาคเช่นrgb(0 255 0)
)
// `rgb()` `<percentage>` as strings in resulting array
['rgb(0%,0%,0%)', ...,'rgb(0%,255%,0)', ...'rgb(255,255,255)']
// `rgb()` `<number>` as strings in resulting array
['rgb(0,0,0)', ...,'rgb(0,255,0)', ...'rgb(255,255,255)']
สัญกรณ์เลขฐานสิบหก CSS RGB RRGGBB
// RGB hexadecimal notation as strings in resulting array
['#000000', ...,'#00ff00', ...'#ffffff']
เกณฑ์การชนะ
ไบต์ที่น้อยที่สุดใช้ในการเขียนโปรแกรม