RGB เป็นการผสานของแสง ในขณะที่ CMYK เป็นการหักล้างด้วยหมึก การแปลงระหว่างทั้งสองเป็นขั้นตอนที่การออกแบบหน้าจอทุกชิ้นต้องทำก่อนพิมพ์
วิธีการแปลงจาก RGB เป็น CMYK
- ทำให้ช่องเป็นค่าปกติ: หาร R, G และ B ด้วย 255
- เอาค่าช่องที่ใหญ่ที่สุดในรูปแบบปกติแล้วคำนวณค่า key K = 1 − max
- หาค่า cyan, magenta และ yellow โดยลบส่วนของดำออก: C = (1 − R − K) / (1 − K) เป็นต้น
- แปลงทั้งสี่ค่าเป็นเปอร์เซ็นต์ระหว่าง 0 ถึง 100
ตัวอย่างที่ทำงานได้
เป็นการประมาณเชิงคณิตศาสตร์โดยไม่มีโปรไฟล์สี ร้านพิมพ์ใช้ ICC profiles และข้อจำกัดของหมึก ดังนั้นตัวเลขเหล่านี้เป็นข้อมูลอ้างอิงที่ดี ไม่ใช่การแยกสีที่พร้อมส่งพิมพ์
RGB และ CMYK อธิบาย
RGB คืออะไร?
RGB อธิบายสีเป็นสามช่องของแสง — แดง เขียว น้ำเงิน — แต่ละช่องมีค่า 0 ถึง 255 มันสะท้อนการทำงานจริงของหน้าจอ: ทั้งสามช่องเป็น 255 ให้สีขาว ทั้งสามช่องเป็น 0 ให้สีดำ RGB เหมาะเมื่อต้องคำนวณกับสี เช่น การแอนิเมตช่องเดียว ผสมสีในโค้ด หรือเพิ่มความโปร่งใสด้วย rgba()
- ไวยากรณ์:
- rgb(R, G, B)
- ช่วงค่า:
- 0–255 ต่อช่อง
- เหมาะสำหรับ:
- โค้ด แคนวาส ความโปร่งใสด้วย rgba()
CMYK คืออะไร?
CMYK คือโมเดลสี่หมึกที่ใช้ในการพิมพ์: cyan, magenta, yellow และ key (ดำ) แต่ละสีเป็นเปอร์เซ็นต์ตั้งแต่ 0 ถึง 100 หมึกจะดึงแสงออกแทนการปล่อยแสง ดังนั้น CMYK ครอบคลุมสีได้น้อยกว่าหน้าจอ — นั่นคือเหตุผลที่สีสดบนหน้าจอมักจะดูหม่นเมื่อพิมพ์ออกมา
- ไวยากรณ์:
- cmyk(C%, M%, Y%, K%)
- ช่วงค่า:
- 0–100% ต่อหมึก
- เหมาะสำหรับ:
- งานพิมพ์ บรรจุภัณฑ์ ไฟล์สำหรับงานพิมพ์
ตารางอ้างอิงจาก RGB เป็น CMYK
สี CSS ที่ใช้บ่อยที่สุด แปลงจาก RGB เป็น CMYK
| สี | RGB | CMYK |
|---|---|---|
| black | rgb(0, 0, 0) | cmyk(0%, 0%, 0%, 100%) |
| white | rgb(255, 255, 255) | cmyk(0%, 0%, 0%, 0%) |
| red | rgb(255, 0, 0) | cmyk(0%, 100%, 100%, 0%) |
| lime | rgb(0, 255, 0) | cmyk(100%, 0%, 100%, 0%) |
| blue | rgb(0, 0, 255) | cmyk(100%, 100%, 0%, 0%) |
| yellow | rgb(255, 255, 0) | cmyk(0%, 0%, 100%, 0%) |
| orange | rgb(255, 165, 0) | cmyk(0%, 35%, 100%, 0%) |
| teal | rgb(0, 128, 128) | cmyk(100%, 0%, 0%, 50%) |
| purple | rgb(128, 0, 128) | cmyk(0%, 100%, 0%, 50%) |
| gray | rgb(128, 128, 128) | cmyk(0%, 0%, 0%, 50%) |