การแปลงพื้นที่สีสำหรับ JPEG ผ่านโปรไฟล์ ICC

การจัดการสีสำหรับรูปแบบ JPEG

บทความนี้กล่าวถึงการใช้โปรไฟล์ ICC เพื่อดำเนินการจัดการพื้นที่สีในขณะที่ใช้ Aspose.PSD APIs ในการจัดการสีใบ JPEG โดยรูปแบบสีภายในของ JPEG คือ YCbCr อย่างไรก็ตามรูปแบบนี้ยังสามารถรองรับพื้นที่สี Grayscale, RGB, CMYK และ YCCK เพื่อเก็บข้อมูลเกี่ยวกับรูปภาพ ในขณะที่ Aspose.PSD APIs ใช้พื้นที่สี RGB หลักๆ ดังนั้น API จะต้องดำเนินการแปลงสีไปและมาจากพื้นที่สีเพื่อจัดการไฟล์ JPEG อย่างถูกต้อง การแปลง Grayscale เป็น RGB และ YCbCr เป็น RGB สามารถทำได้ด้วยการแปลงทางคณิตศาสตร์ แต่พื้นที่สีของ CMYK และ YCCK ไม่สามารถแปลงเป็นพื้นที่สี RGB ได้โดยง่าย

Aspose.PSD APIs ต้องดำเนินการโดยตรงในการแปลงสีจาก RGB เป็น CMYK สำหรับรูปภาพ JPEG ที่มีพื้นที่สี CMYK ในขณะเดียวกัน รูปภาพที่มีพื้นที่สี YCCK จะต้องใช้การแปลงสีจาก RGB เป็น CMYK เป็น YCCK โดยที่การแปลงสีจาก CMYK เป็น YCCK ใช้การแปลง ITU-R BT.601 ที่ถูกนำไปใช้กับช่องสามช่องแรก โดยที่ข้อมูลช่อง k จะไม่ถูกสัมผัส สรุปกันเถอะ Aspose.PSD APIs ต้องดำเนินการแปลงสีระหว่าง RGB และ CMYK สำหรับทั้งรูปภาพ CMYK และ YCCK และการแปลงเหล่านี้ใช้ ICC profiles ที่มีดูแลการค้นหาคุณสมบัติสีและช่วยในการแปลงสี

โปรไฟล์ ICC

การแปลง ICC ใช้ “โปรไฟล์” ซึ่งแม็ปพื้นที่สีต้นทางไปสู่พื้นที่สี CIELAB หรือ CIEXYZ ที่เป็นรูปแบบสีที่เป็นอิสระจากอุปกรณ์ Aspose.PSD สามารถแปลงข้อมูลเข้าสู่พื้นที่สีตามที่ต้องการใช้พื้นที่สีเหล่านี้พร้อมกับโปรไฟล์เพิ่มเติม ดังนั้น สำหรับการแปลงด้วย ICC user จำเป็นต้องระบุสองโปรไฟล์ด้วยกัน - โปรไฟล์ RGB เพื่อได้รับพื้นที่สี CIE โดยแท้และโปรไฟล์ CMYK เพื่อเป็นลักษณะของพื้นที่สี CMYK เพื่อที่จะทำให้การแปลงจาก CMYK เป็น RGB ก็จำเป็นจะต้องสลับโปรไฟล์ นั่นคือ ใช้โปรไฟล์ CMYK เป็นโปรไฟล์ต้นและโปรไฟล์ RGB เป็นโปรไฟล์ปลาย

การแปลงสีสำหรับ JPEG ผ่านโปรไฟล์ ICC

Aspose.PSD APIs ซ่อนรายละเอียดโดยการให้กลไกรวดเริ่มการระบุโปรไฟล์ ICC ผ่านคลาส JpegOptions อีกทั้ง Aspose.PSD ยังใช้โปรไฟล์ตัวอย่างของ SWOP CMYK และ sRGB ที่ฝังอยู่ในส่วนของมัน ดังนั้นในกรณีที่ใช้งานบ่อยๆ ผู้ใช้ไม่จำเป็นต้องค้นหาโปรไฟล์สเปซซิฟิกจำเป็น มีข้อเสียเช่นในการแก้ไขปัญหาด้วยโปรไฟล์เหล่านี้ นั่นคือ การแปลงสีเหล่านั้นมีลักษณะการแปลงข้อมูลได้อย่างไม่ล้าสักการะเพราะเราไม่สามารถคาดหวังว่าจะได้สีเดียวกันหลังจากการแปลง RGB เป็น CMYK เป็น RGB เนื่องจากพื้นที่สีที่ไม่สามารถใช้งานร่วมกันและโปรไฟล์สีที่แตกต่างกัน รายละเอียดโค้ดตัวอย่างด้านล่างแสดงถึงการใช้ Aspose.PSD สำหรับ Java API เพื่อระบุโปรไฟล์สี RGB และ CMYK สำหรับรูปภาพ YCCK JPEG ในตัวอย่างด้านล่าง โปรไฟล์สี RGB และ CMYK ถูกเปลี่ยนและภาพถูกบันทึกในพื้นที่สี YCCK โปรดทราบว่า คุณสมบัติ RgbColorProfile และ CmykColorProfile จะทำงานในการเปลี่ยนข้อมูลพิกเซลสำหรับพื้นที่สี YCCK เฉพาะ พื้นที่สีอื่นๆ ไม่ได้ดึงโปรไฟล์สีมาใช้ในการอัพเดตข้อมูลสี

หากไม่ได้กำหนดโปรไฟล์ Aspose.PSD สำหรับ Java API จะใช้โปรไฟล์เริ่มต้นแทน ตัวอย่างด้านล่างใช้คุณสมบัติโปรไฟล์ปลายที่เปลี่ยนพื้นที่สีปลายสำหรับรูปภาพ Jpeg ในระดับส่วนใหญ่