ความอยากรู้อยากเห็นแบบเรียบง่ายที่นี่แต่งแต้มด้วยความกังวลในทางปฏิบัติเพราะฉันถูกจับในเรื่องนี้เป็นครั้งคราว
ทำไมColor.DarkGray
จะเบากว่าColor.Gray
?
Gray
คือ0x80 (× RGB) กับDimGray
(หรือควรเป็น "สีเทา") ที่0x69 (× RGB)
ความอยากรู้อยากเห็นแบบเรียบง่ายที่นี่แต่งแต้มด้วยความกังวลในทางปฏิบัติเพราะฉันถูกจับในเรื่องนี้เป็นครั้งคราว
ทำไมColor.DarkGray
จะเบากว่าColor.Gray
?
Gray
คือ0x80 (× RGB) กับDimGray
(หรือควรเป็น "สีเทา") ที่0x69 (× RGB)
คำตอบ:
Wikipedia มีข้อมูลบางอย่างเกี่ยวกับเรื่องนี้ ดูเหมือนว่าคำจำกัดความของสีที่มีชื่อมาจากระบบ Windows X บน X "สีเทา" นั้นใกล้เคียงกับ "เงิน" มากขึ้น อย่างไรก็ตาม W3C กำหนดสีเทา (เหมาะสมกว่า?) เป็น RGB 50%
นี่คือWikipedia เพิ่มเติมในหัวข้อ:
บางทีสีที่ผิดปกติที่สุดของการปะทะกันระหว่าง X11 และ W3C คือกรณีของ "สีเทา" และตัวแปร ใน HTML "สีเทา" ถูกสงวนไว้เป็นพิเศษสำหรับ 128 triplet (50% สีเทา) อย่างไรก็ตามใน X11, "สีเทา" ได้รับมอบหมายให้ 190 triplet (74.5%) ซึ่งอยู่ใกล้กับ W3C "เงิน" ที่ 192 (75.3%) และมี "สีเทาอ่อน" ที่ 211 (83%) และ "สีเทาเข้ม" "ที่ 169 (66%) คู่หู ด้วยเหตุนี้รายการสี CSS 3.0 แบบรวมที่เหนือกว่าบนเว็บในปัจจุบันสร้าง "Dark Grey" เป็นโทนสีที่เบากว่า "Gray" ธรรมดาอย่างชัดเจนเพราะ "Dark Gray" นั้นสืบทอดมาจาก X11 - เนื่องจากไม่มีอยู่ใน HTML หรือ CSS ระดับ 1 - ในขณะที่ "สีเทา" สืบทอดมาจาก HTML แม้ในร่างปัจจุบันสำหรับ CSS 4.0 สีเทาเข้มยังคงเป็นสีอ่อนกว่าสีเทา
คำหลักสี W3C :
DimGray '#696969' (105,105,105)
Gray '#808080' (128,128,128)
DarkGray '#A9A9A9' (169,169,169) //equal to X11 DarkGray
Silver '#C0C0C0' (192,192,192) //close to X11 Gray (190,190,190)
LightGray '#D3D3D3' (211,211,211) //equal to X11 LightGray
Gainsboro '#DCDCDC' (220,220,220)
darkgray
จะมีสีเข้มsilver
ทำไมไม่ได้รับการตั้งชื่อว่าdarksilver
?
ฉันต้องการพูดถึงการสนทนาของ Tim Sneathเกี่ยวกับเรื่องนั้น
สีเหล่านี้ไม่ได้เกิดขึ้นจริงใน HTML` - พวกเขายังคงย้อนกลับไปมากกว่าระบบ X Window ที่มาจากระบบ UNIXข้อกำหนด HTML กำหนดสีที่ระบุชื่อสิบหกสีซึ่งแมปลงบนสีพื้นฐานสิบหกสีที่มีอยู่ในจานสี EGA แต่เบราว์เซอร์ที่เก่าที่สุดเช่นโมเสกยังรองรับ X11 ที่มีสีอื่น ๆ ตามสีที่กำหนดใน X ของสีที่มีชื่อสิบหกสีนั้นมีค่าเทียบเท่า X11 ที่แตกต่างกันตัวอย่างเช่นสีเขียวแสดงด้วย X11 ในสีนี้ในขณะที่ HTML จะแสดงด้วยสีนี้ ผลลัพธ์ที่โชคร้ายคือเกรย์ถูกกำหนดให้เป็น # 808080 ใน HTML แต่ DarkGray จะแสดงเป็น # A9A9A9 ซึ่งหมายความว่าพวกมันผิดไปหมด เนื่องจาก WPF อนุญาตให้ใช้สีที่มีชื่อเดียวกันกับ HTML เพื่อความเข้ากันได้ผลลัพธ์จึงเป็นสิ่งที่แปลกประหลาดเหมือนกัน
นั่นเป็นเหตุผลที่ผู้เขียนกล่าวว่าควรใช้ hex หรือscRGBเพื่อแสดงสี
คำแนะนำของฉันโดยทั่วไปคือใช้การแสดงสีhex หรือscRGBทุกที่ที่เป็นไปได้หรือคุณอาจประหลาดใจกับสีที่คุณเลือกไม่ตรงกับความคาดหวังของคุณ!