การแปลงสีจาก 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 เท่านั้น