ไฟล์ 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 เสมอ อย่าพยายามอ่านไฟล์หากเวอร์ชันไม่ตรงกับค่านี้ (~~PSB~~ รุ่น 2.) |
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 เป็นต้น |