PSD - รูปแบบไฟล์ภาพ Photoshop
ไฟล์ PSD คืออะไร?
PSD, Photoshop Document แสดงถึงรูปแบบไฟล์ดั้งเดิมของ Adobe Photoshop ที่ใช้สำหรับการออกแบบและพัฒนากราฟิก ไฟล์ PSD อาจรวมถึงเลเยอร์รูปภาพ เลเยอร์การปรับแต่ง มาสก์เลเยอร์ คำอธิบายประกอบ ข้อมูลไฟล์ คำหลัก และองค์ประกอบเฉพาะ Photoshop อื่นๆ ไฟล์ Photoshop มีนามสกุลเริ่มต้นเป็น .PSD และมีความสูงและความกว้างสูงสุด 30,000 พิกเซล และจำกัดความยาวได้ไม่เกิน 2 กิกะไบต์
ข้อมูลจำเพาะรูปแบบไฟล์ PSD
ข้อมูลในไฟล์ PSD ถูกจัดเก็บตามลำดับไบต์ขนาดใหญ่ ซึ่งหมายถึงการสลับจำนวนเต็มสั้นและยาวเมื่ออ่านหรือเขียนบนแพลตฟอร์ม Windows รูปแบบไฟล์ Photoshop แบ่งออกเป็นห้าส่วนใหญ่ๆ มีเครื่องหมายบอกความยาวมากมายที่สามารถใช้เพื่อย้ายจากส่วนหนึ่งไปยังส่วนถัดไป เครื่องหมายความยาวมักจะเสริมด้วยไบต์เพื่อปัดเศษเป็นช่วง 2 หรือ 4 ไบต์ที่ใกล้ที่สุด ห้าส่วนหลักคือ:
- ส่วนหัวของไฟล์
- ข้อมูลโหมดสี
- ทรัพยากรรูปภาพ
- ข้อมูลเลเยอร์และมาสก์
- ข้อมูลรูปภาพ
เพื่อความสอดคล้อง ควรเขียนข้อมูลลงในช่องเหล่านี้ทั้งหมดในส่วน เนื่องจาก Photoshop อาจพยายามอ่านส่วนทั้งหมด นอกจากนี้ยังบอกเป็นนัยว่าเขียนเลขศูนย์ลงในช่องที่ข้ามขณะเขียนไฟล์ ควรใช้ฟิลด์ความยาวในส่วนที่คั่นด้วยความยาวเพื่อตัดสินใจว่าจะหยุดอ่านเมื่อใด ในกรณีส่วนใหญ่ ฟิลด์ความยาวจะระบุจำนวนไบต์ ไม่ใช่เรกคอร์ด ดังต่อไปนี้ ต้องจำประเด็นต่อไปนี้ขณะอ่านไฟล์
- ค่าในคอลัมน์ “ความยาว” ในตารางทั้งหมดมีหน่วยเป็นไบต์
- ค่าทั้งหมดที่กำหนดเป็นสตริง Unicode ประกอบด้วย:
- ฟิลด์ความยาว 4 ไบต์ แทนจำนวนอักขระในสตริง (ไม่ใช่ไบต์)
- สตริงของค่า Unicode สองไบต์ต่ออักขระ
ส่วนหัวของไฟล์
ส่วนหัวของไฟล์ประกอบด้วยคุณสมบัติพื้นฐานของรูปภาพ
| ความยาว | คำอธิบาย |
|---|---|
| 4 | ลายเซ็น: เท่ากับ ‘8BPS’ เสมอ อย่าพยายามอ่านไฟล์หากลายเซ็นไม่ตรงกับค่านี้ |
| 2 | เวอร์ชัน: เท่ากับ 1 เสมอ อย่าพยายามอ่านไฟล์หากเวอร์ชันไม่ตรงกับค่านี้ ( |
| 6 | สงวนไว้: ต้องเป็นศูนย์ |
| 2 | จำนวนช่องสัญญาณในรูปภาพ รวมถึงช่องอัลฟ่าใดๆ ช่วงที่รองรับคือ 1 ถึง 56 |
| 4 | ความสูงของรูปภาพเป็นพิกเซล ช่วงที่รองรับคือ 1 ถึง 30,000 |
| 4 | ความกว้างของรูปภาพเป็นพิกเซล ช่วงที่รองรับคือ 1 ถึง 30,000 |
| 2 | ความลึก: จำนวนบิตต่อแชนเนล ค่าที่รองรับคือ 1, 8, 16 และ 32 |
| 2 | โหมดสีของไฟล์ ค่าที่รองรับได้แก่ Bitmap #0; โทนสีเทา #1; จัดทำดัชนี # 2; RGB # 3; CMYK # 4; หลายช่อง # 7; ดูโอโทน #8; แล็บ # 9 |
ส่วนข้อมูลโหมดสี
ส่วนข้อมูลโหมดสีมีโครงสร้างดังนี้:
| ความยาว | คำอธิบาย |
|---|---|
| 4 | ความยาวของข้อมูลสีต่อไปนี้ |
| ตัวแปร | ข้อมูลสี |
ข้อมูลโหมดสีมีเฉพาะสำหรับสีที่จัดทำดัชนีและดูโอโทนตามที่กำหนดโดยฟิลด์โหมดในส่วนส่วนหัวของไฟล์ สำหรับโหมดอื่นๆ ทั้งหมด ส่วนนี้แสดงด้วยค่าศูนย์ 4 ไบต์ สำหรับภาพสีที่จัดทำดัชนี ความยาวคือ 768 และข้อมูลสีประกอบด้วยตารางสีสำหรับภาพ ตามลำดับที่ไม่ใช่การแทรกสอด สำหรับภาพดูโอโทน ข้อมูลสีประกอบด้วยข้อมูลจำเพาะดูโอโทน (รูปแบบที่ไม่มีการบันทึกเป็นเอกสาร) แอปพลิเคชันอื่นๆ ที่อ่านไฟล์ Photoshop สามารถถือว่าภาพ duotone เป็นภาพสีเทา และเพียงแค่รักษาเนื้อหาของข้อมูล duotone เมื่ออ่านและเขียนไฟล์
ส่วนทรัพยากรรูปภาพ
ส่วนที่สามของไฟล์ประกอบด้วยทรัพยากรรูปภาพ โดยจะเริ่มต้นด้วยฟิลด์ความยาว ตามด้วยชุดของบล็อกทรัพยากร
| ความยาว | คำอธิบาย |
|---|---|
| 4 | ความยาวของส่วนทรัพยากรรูปภาพ ความยาวอาจเป็นศูนย์ |
| ตัวแปร | ทรัพยากรรูปภาพ (บล็อกทรัพยากรรูปภาพ) |
ทรัพยากรรูปภาพใช้เพื่อจัดเก็บข้อมูลที่ไม่ใช่พิกเซลที่เกี่ยวข้องกับรูปภาพ เช่น เส้นทางเครื่องมือปากกา พวกเขาถูกเรียกว่าบล็อกทรัพยากรเนื่องจากเก็บข้อมูลที่เก็บไว้ในทรัพยากรของ Macintosh ใน Photoshop เวอร์ชันก่อนหน้า โครงสร้างพื้นฐานของบล็อกทรัพยากรรูปภาพมีดังต่อไปนี้:
| ความยาว | คำอธิบาย |
|---|---|
| 4 | ลายเซ็น: ‘8BIM’ |
| 2 | ตัวระบุเฉพาะสำหรับทรัพยากร รหัสทรัพยากรรูปภาพประกอบด้วยรายการรหัสทรัพยากรที่ใช้โดย Photoshop |
| Variable | ชื่อ: สตริงปาสคาล เสริมเพื่อให้มีขนาดเท่ากัน (ชื่อ null ประกอบด้วยสองไบต์ของ 0) |
| 4 | ขนาดจริงของข้อมูลทรัพยากรที่ตามมา |
| Variable | ข้อมูลทรัพยากร ซึ่งอธิบายไว้ในส่วนทรัพยากรแต่ละประเภท มีการบุนวมเพื่อให้มีขนาดเท่ากัน |
ทรัพยากรรูปภาพใช้หมายเลขรหัสมาตรฐานหลายหมายเลข
ข้อมูลเลเยอร์และมาสก์
ส่วนที่สี่ของไฟล์ Photoshop มีข้อมูลเกี่ยวกับเลเยอร์และมาสก์ เช่น จำนวนเลเยอร์ ช่องในเลเยอร์ ช่วงการผสม ปุ่มปรับเลเยอร์ เอฟเฟกต์เลเยอร์ และพารามิเตอร์มาสก์ หากไม่มีเลเยอร์หรือมาสก์ ส่วนนี้จะแสดงด้วยฟิลด์ 4 ไบต์ที่มีศูนย์ ต้องให้ความสนใจเป็นพิเศษกับความยาวของส่วนในขณะที่อ่านส่วนนี้เนื่องจากค่าเป็นศูนย์ การจัดเรียงของส่วน Layer และ Mask มีดังนี้
| ความยาว | คำอธิบาย |
|---|---|
| 4 | ความยาวของส่วนข้อมูลเลเยอร์และมาสก์ (ความยาวของ PSB คือ 8 ไบต์) |
| ตัวแปร | ข้อมูลเลเยอร์ |
| Variable | ข้อมูลมาสก์เลเยอร์สากล |
| Variable | ชุดบล็อกแท็กที่มีข้อมูลประเภทต่างๆ |
ข้อมูลเลเยอร์
ตารางต่อไปนี้แสดงการจัดระเบียบระดับสูงของข้อมูลเลเยอร์
| ความยาว | คำอธิบาย |
|---|---|
| 4 | ความยาวของส่วนข้อมูลเลเยอร์ ปัดเศษขึ้นเป็น 2 เท่า (ความยาวของ PSB คือ 8 ไบต์) |
| 2 | จำนวนเลเยอร์ หากเป็นจำนวนลบ ค่าสัมบูรณ์ของมันคือจำนวนเลเยอร์ และช่องอัลฟ่าช่องแรกจะมีข้อมูลความโปร่งใสสำหรับผลลัพธ์ที่ผสาน |
| Variable | ข้อมูลเกี่ยวกับแต่ละเลเยอร์ ดูบันทึกเลเยอร์อธิบายโครงสร้างของข้อมูลนี้สำหรับแต่ละเลเยอร์ |
| ตัวแปร | ข้อมูลภาพช่อง มีหนึ่งเรคคอร์ดข้อมูลภาพหรือมากกว่าสำหรับแต่ละเลเยอร์ เลเยอร์อยู่ในลำดับเดียวกับในข้อมูลเลเยอร์ |
ข้อมูลรูปภาพ
ข้อมูลพิกเซลของภาพมีอยู่ในส่วนข้อมูลรูปภาพของไฟล์ การจัดเรียงข้อมูลในส่วน Image Data อยู่ในระนาบ คือ ข้อมูลสีแดงทั้งหมดก่อน จากนั้นข้อมูลสีเขียวทั้งหมด ฯลฯ แต่ละระนาบจะถูกจัดเก็บตามลำดับการสแกนโดยไม่มีการแพดไบต์ ส่วนข้อมูลรูปภาพจะจัดเรียงในรูปแบบ ดังตารางต่อไปนี้
| ความยาว | คำอธิบาย |
|---|---|
| 2 | วิธีการบีบอัด: *0 = ข้อมูลรูปภาพดิบ * 1 = RLE บีบอัดข้อมูลรูปภาพเริ่มต้นด้วยจำนวนไบต์สำหรับบรรทัดการสแกนทั้งหมด (แถว * ช่องสัญญาณ) โดยแต่ละจำนวนจัดเก็บเป็นค่าสองไบต์ ข้อมูลที่บีบอัด RLE จะตามมา โดยแต่ละบรรทัดที่สแกนจะถูกบีบอัดแยกกัน การบีบอัด RLE เป็นอัลกอริทึมการบีบอัดแบบเดียวกับที่ใช้โดย Macintosh ROM Routine PackBits และมาตรฐาน TIFF *2 = ZIP ไม่มีการคาดคะเน *3 = ZIP ที่มีการคาดคะเน |
| ตัวแปร | ข้อมูลรูปภาพ ลำดับระนาบ = RRR GGG BBB เป็นต้น |