การแปลงสีจาก RGB เป็น HEX นั้นง่ายดายพอๆ กับการแปลงค่าตัวเลขจากระบบเลขฐานสิบไปเป็นเลขฐานสิบหก ในการแปลงสี RGB (50, 168, 82) เราจะแปลงตัวเลขแต่ละตัวเป็นค่าเลขฐานสิบหก:
50 = 32 168 = A8 82 = 52
RGB(50, 168, 82) = #32A852
RGB
ย่อมาจากเฉดสีแดง เขียว และน้ำเงินที่สามารถผสมกันเพื่อสร้างสีต่างๆ ได้ เป็นวิธีมาตรฐานในการสร้างภาพสำหรับหน้าจอทีวี จอคอมพิวเตอร์ และจอแสดงผลสมาร์ทโฟน
เพื่อให้แม่นยำยิ่งขึ้น RGB เป็นรูปแบบสีแบบเติมแต่ง ซึ่งหมายความว่าคุณต้องเพิ่มเฉดสีเข้าด้วยกันเพื่อสร้างสีที่แตกต่าง
ลองนึกภาพการเรียงสีซ้อนกัน:
บันทึก: อุปกรณ์ที่แตกต่างกันจะสร้างค่า RGB ที่แตกต่างกัน อุปกรณ์แต่ละเครื่องใช้ทฤษฎีการผสมสีที่แตกต่างกัน ซึ่งหมายความว่าสี RGB จะไม่เหมือนกันในทุกอุปกรณ์ และต้องมีการจัดการสีเพื่อให้มีลักษณะเหมือนกัน
ในการอธิบายสีในรูปแบบสี RGB คุณต้องบอกว่าต้องใช้สีแดง เขียว และน้ำเงินมากน้อยเพียงใด
คุณระบุว่าต้องใช้สีแดง เขียว และน้ำเงินมากน้อยเพียงใดโดยใช้ RGB triplet (อาร์ จี บี)
โดยที่แต่ละองค์ประกอบสามารถเปลี่ยนแปลงได้ตั้งแต่ศูนย์จนถึงค่าสูงสุดที่กำหนดไว้
หากองค์ประกอบทั้งหมดเป็นศูนย์ (0, 0, 0)
- ผลลัพธ์ที่ได้คือสีดำ
หากองค์ประกอบทั้งหมดอยู่ในระดับสูงสุด (255, 255, 255)
- ผลลัพธ์ที่ได้คือสีขาว
การผสมตัวเลขเหล่านี้ทำให้เกิดสีที่ต่างกัน (255, 255, 0)
- ผลที่ได้คือสีเหลือง
สิ่งนี้เรียกว่า ความลึกของสี และวัดเป็นบิต
ในปี 2018 จอแสดงผลทีวี คอมพิวเตอร์ และสมาร์ทโฟนเกือบทุกเครื่องใช้ความลึกของสี 24 บิต สีที่แท้จริง. รองรับแปดบิตสำหรับแต่ละสีจากสามสี หรือรวมทั้งหมด 24 บิต
นี้ให้ 28 หรือ 256 ค่าที่เป็นไปได้สำหรับสีแดง เขียว และน้ำเงิน:
256 x 256 x 256 = 16,777,216 สีที่เป็นไปได้ทั้งหมดในจานสีจริง
เลขฐานสิบหก
อธิบายระบบเลขฐาน 16 ที่ประกอบด้วยสัญลักษณ์ 16 ตัว ใช้ตัวเลขตั้งแต่ 0 ถึง 9 เพื่อแสดงตัวเลขตั้งแต่ 0 ถึง 9 และตัวอักษร A ถึง F เพื่อแสดงตัวเลขตั้งแต่ 10 ถึง 15
มักใช้ในวิทยาการคอมพิวเตอร์และคณิตศาสตร์เพื่อแสดงรหัสไบนารี่ในรูปแบบที่มนุษย์สามารถอ่านได้
ต่างจากคอมพิวเตอร์หรือนักวิทยาศาสตร์ พวกเราส่วนใหญ่ใช้ระบบเลขฐานสิบ ประกอบด้วยตัวเลขตั้งแต่ 0 ถึง 9 และเป็นวิธีมาตรฐานในการใช้ตัวเลข เราเริ่มเรียนรู้มันตั้งแต่ชั้นอนุบาลและเราใช้มันทุกวัน:
รถยนต์ขับด้วยความเร็ว 10 ไมล์ต่อชั่วโมง แมวหนัก 4 กก หนึ่งเดือนประกอบด้วย 30 วัน
ตอนนี้เรารู้ความแตกต่างระหว่างเลขฐานสิบหกและเลขฐานสิบแล้ว เรามาดูกันว่าเราจะแปลงจากที่หนึ่งไปอีกที่หนึ่งได้อย่างไร
ดังที่เราทราบอยู่แล้ว ในระบบเลขฐานสิบหก ตัวเลขตั้งแต่ 0 ถึง 9 แทน 0 ถึง 9 และตัวอักษร A ถึง F แทน 10 ถึง 15 ในระบบทศนิยม
นี่คือตารางเชิงลึกที่สามารถอธิบายการแปลงจากเลขฐานสิบหกเป็นเลขทศนิยมได้ดี:
ในการแปลง RGB เป็น HEX คุณต้องแปลงค่าสีแดง เขียว และน้ำเงินจากทศนิยมเป็นเลขฐานสิบหก
ตัวอย่าง #1: แปลงสีแดง (255, 0, 0)
ถึง ฐานสิบหก:
ร = 255 = เอฟเอฟ ช = 0 = 00 บี = 0 = 00 ฐานสิบหก = #เอฟเอฟ0000
ตัวอย่าง #2: แปลงเป็นสีเขียว (0, 255, 0)
ถึง ฐานสิบหก:
ร = 0 = 00 ช = 255 = เอฟเอฟ บี = 0 = 00 ฐานสิบหก = #00เอฟเอฟ00
ตัวอย่าง #3: แปลงเป็นสีฟ้า (0, 0, 255)
ถึง ฐานสิบหก:
ร = 0 = 00 ช = 0 = 00 บี = 255 = เอฟเอฟ ฐานสิบหก = #0000เอฟเอฟ
ตัวอย่าง #4: แปลงเป็นสีดำ (0, 0, 0)
ถึง ฐานสิบหก:
ร = 0 = 00 ช = 0 = 00 บี = 0 = 00 ฐานสิบหก = #000000
ตัวอย่าง #5: แปลงเป็นสีขาว (255, 255, 255)
ถึง ฐานสิบหก:
ร = 255 = เอฟเอฟ ช = 255 = เอฟเอฟ บี = 255 = เอฟเอฟ ฐานสิบหก = #เอฟเอฟเอฟเอฟเอฟเอฟ
โบนัส ตัวอย่าง #6: แปลงสีทอง (255, 215, 0)
ถึง ฐานสิบหก:
ร = 255 = เอฟเอฟ ช = 215 = D7 บี = 0 = 00 ฐานสิบหก = #เอฟเอฟD700
ในการแปลง HEX เป็น RGB คุณต้องแบ่งค่าเลขฐานสิบหกออกเป็นคู่ๆ สองคู่แล้วแปลงเป็นเลขฐานสิบ
ตัวอย่าง #1: แปลงสีแดง #เอฟเอฟ0000
ถึง RGB:
เอฟเอฟ = 255 00 = 0 00 = 0 RGB = (255, 0, 0)
ตัวอย่าง #2: แปลงเป็นสีเขียว #00เอฟเอฟ00
ถึง RGB:
00 = 0 เอฟเอฟ = 255 00 = 0 RGB = (0, 255, 0)
ตัวอย่าง #3: แปลงเป็นสีฟ้า #0000เอฟเอฟ
ถึง RGB:
00 = 0 00 = 0 เอฟเอฟ = 255 RGB = (0, 0, 255)
ตัวอย่าง #4: แปลงเป็นสีดำ #000000
ถึง RGB:
00 = 0 00 = 0 00 = 0 RGB = (0, 0, 0)
ตัวอย่าง #5: แปลงเป็นสีขาว #เอฟเอฟเอฟเอฟเอฟเอฟ
ถึง RGB:
เอฟเอฟ = 255 เอฟเอฟ = 255 เอฟเอฟ = 255 RGB = (255, 255, 255)
โบนัส ตัวอย่าง #6: แปลงสีทอง #FFD700
ถึง RGB:
FF = 255 D7 = 215 00 = 0 RGB = (255, 215, 0)
ดังที่เราเห็นจากตัวอย่างด้านบน ความแตกต่างหลักระหว่าง RGB และ HEX คือใช้ระบบตัวเลขที่แตกต่างกัน RGB ใช้ทศนิยม และ HEX ใช้เลขฐานสิบหก
การแปลงสีจาก RGB เป็น HEX นั้นง่ายดายพอๆ กับการแปลงค่าตัวเลขจากระบบเลขฐานสิบไปเป็นระบบเลขฐานสิบหก
จากประสบการณ์ของเราและจากสิ่งที่ทีมงานของเราสังเกตเห็นตลอดหลายปีที่ผ่านมา มีการใช้เลขฐานสิบหกบ่อยกว่า RGB โดยเฉพาะในการพัฒนาเว็บไซต์และอุตสาหกรรมการออกแบบเว็บไซต์
อย่างไรก็ตาม ไม่สำคัญว่าคุณจะใช้สีไหนเพราะทั้งสองสีมีสีเดียวกัน ข้อเสนอแนะเดียวคือรักษาความสม่ำเสมอ
หากคุณเริ่มใช้ RGB ตลอดทั้งโครงการบนเว็บของเรา ให้ยึดถือไว้ หากคุณเริ่มใช้ HEX ทั่วทั้งโครงการเว็บของเรา ให้ลองใช้เฉพาะ HEX เท่านั้น