ZSoft PCX (.pcx)
ZSoft มาตรฐานZSoft PC Paintbrush Bitmap (PCX) คือรูปแบบกราฟิกพีซียุคแรกในตำนาน ซึ่งกลายมาเป็นมาตรฐานภาพแรสเตอร์ตัวแรกที่ถูกนำมาใช้อย่างแพร่หลายสำหรับ MS-DOS, IBM PC ที่เข้ากันได้ และเกม PC ยุคคลาสสิก
แปลง PCX เป็น PNG
ตัวแปลงจาก PCX เป็น PNG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบและดู Metadata
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ PCX โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ PCX โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
0A 05 01การแสดงผลรูปแบบ ASCII: ...
มาตรฐาน: ZSoft PC Paintbrush Technical Reference Manual
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | 128-byte fixed header followed by RLE-compressed scanlines and optional trailing 256-color palette |
| การบีบอัด | Byte-oriented run-length encoding (RLE) with 0xC0 count indicator bits |
| การจัดลำดับไบต์ (Byte Endianness) | Little-Endian (Intel x86) |
| พื้นที่สี | CGA 4-color, EGA 16-color, or VGA 256-color paletted RGB |
| ช่องสัญญาณและโครงสร้าง | 1, 2, 4, or 8-bit paletted, or 24-bit RGB planar (3 planes of 8-bit data) |
| ขนาดสูงสุด | 65,535 x 65,535 pixels (16-bit coordinates) |
| ความโปร่งใส | None (opaque legacy raster) |
| การสตรีมและแบบโปรเกรสซีฟ | Sequential scanline-by-scanline playback |
ตารางเปรียบเทียบทางเทคนิค: PCX กับคู่แข่ง
| คุณลักษณะทางเทคนิค | PCX (ปัจจุบัน) | BMP | GIF | PNG |
|---|---|---|---|---|
| ยุคที่ใช้งาน | 1985 - 1995 (ยุคทองของ MS-DOS) | 1990 - ปัจจุบัน (มาตรฐาน Windows) | 1987 - ปัจจุบัน (มาตรฐานเว็บ) | 1996 - ปัจจุบัน (มาตรฐานเว็บสมัยใหม่) |
| อัลกอริทึมการบีบอัด | การบีบอัด Byte-run RLE | ไม่ได้บีบอัด / RLE | การบีบอัด LZW ปลอดสิทธิบัตร | การบีบอัด Deflate LZ77 |
| สถาปัตยกรรมสี | ระนาบิต EGA/VGA และแบบใช้จานสี | สแกนไลน์ DIB | สีดัชนี 256 สี | สีแท้ 24/48-bit + อัลฟา |
| ตำแหน่งจานสี | ผนวกไว้ที่ท้ายไฟล์ (EOF) (768 ไบต์) | ใกล้ส่วนหัวไฟล์ | ใกล้ส่วนหัวไฟล์ | พ่วงชังก์ PLTE |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
สีของภาพแสดงผลกลับหัวกลับหางทั้งหมดหรือผิดเพี้ยนไปเหมือนเนกาทีฟไซเคเดลิก
สาเหตุหลัก: บล็อกจานสี VGA 256 สีที่ส่วนท้ายของไฟล์ขาดหายไปหรือถูกตัดทอน
การกู้คืน: ใช้จานสี VGA เริ่มต้นอีกครั้งหรือแปลงรหัสเป็น PNG โดยใช้ File2File PCX Converter
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ตัวถอดรหัส PCX ประมวลผลไบต์ที่เข้ารหัสความยาวรันลงในสแกนไลน์ ซึ่งการนับความยาวรันที่ผิดรูปแบบอาจทำให้เกิดความล้นของบัฟเฟอร์ฮีป (heap buffer overflows)
เวกเตอร์การโจมตีที่ทราบ
- ความยาวรันไบต์ RLE เกินความกว้างของสแกนไลน์ ทำให้มีการเขียนหน่วยความจำนอกขอบเขตบัฟเฟอร์
- บัฟเฟอร์ล้นเมื่ออ่านระนาบเกินจำนวนระนาบที่ประกาศไว้ในส่วนหัว
- การปฏิเสธการให้บริการผ่านการคำนวณออฟเซ็ตจานสีที่เสียหาย
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- ความสำคัญทางประวัติศาสตร์อันยาวนาน: รูปแบบรากฐานของการปฏิวัติวงการเกม IBM PC และแชร์แวร์ยุคแรก
- เค้าโครงหน่วยความแบบระนาบที่เน้นฮาร์ดแวร์ ช่วยให้สามารถคัดลอกลงในหน่วยความจำการ์ดจอ EGA/VGA ได้โดยตรง
- การบีบอัด RLE น้ำหนักเบาช่วยลดขนาดไฟล์ของภาพประกอบและไดอะแกรมที่มีสีน้อย
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- ความล้าสมัย: เวิร์กโฟลว์สมัยใหม่เกือบทั้งหมดได้ย้ายไปใช้ PNG และรูปแบบแรสเตอร์สมัยใหม่แล้ว
- จานสี VGA 256 สีถูกผนวกไว้ที่ส่วนท้ายสุดของไฟล์ ซึ่งต้องใช้การอ่านไฟล์ทั้งหมดเพื่อถอดรหัสสี
- การบีบอัดที่ไม่มีประสิทธิภาพบนภาพถ่ายที่ซับซ้อน
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- ไบต์แรกของไฟล์ PCX ทุกไฟล์คือ 0x0A เสมอ (เลขฐานสิบ 10) ซึ่งแสดงถึง ID ผู้ผลิตภายในของ ZSoft
- หากต้องการตรวจสอบว่าไฟล์ PCX 8-bit มีจานสี 256 สีหรือไม่ ให้ข้ามไปที่ 769 ไบต์จากท้ายไฟล์และตรวจสอบหาไบต์ 0x0C (เลขฐานสิบ 12)
- เกม PC คลาสสิก รวมถึง Wolfenstein 3D, DOOM และ Duke Nukem 3D จัดเก็บภาพหน้าจอโปรโมชันและศิลปะเมนูในรูปแบบ PCX
คำถามทางเทคนิคที่พบบ่อย
โปรแกรมใดเป็นผู้สร้างไฟล์ .PCX?
ZSoft PC Paintbrush ซึ่งเป็นโปรแกรมกราฟิกยอดนิยมตัวแรกสำหรับ IBM PC ในช่วงทศวรรษ 1980 และมักจะแถมมาพร้อมกับเมาส์ของ Microsoft
ฉันสามารถแปลงไฟล์ PCX ยุคเก่าเป็น PNG หรือ JPG ได้หรือไม่?
ได้ File2File.app สามารถแปลงเท็กซ์เจอร์เกมและงานศิลปะ PCX ในอดีตให้เป็นภาพ PNG หรือ JPG ที่ทันสมัยและคมชัดได้โดยตรงในเบราว์เซอร์ของคุณ
เหตุใดจานสีจึงอยู่ท้ายไฟล์ PCX?
เมื่อมีการเปิดตัว VGA 256 สีในปี 1988 ทาง ZSoft ได้ผนวกจานสี RGB ขนาด 768 ไบต์ไว้ที่ท้ายไฟล์โดยมีเครื่องหมาย 0x0C นำหน้า เพื่อรักษาความเข้ากันได้ย้อนหลังกับตัวถอดรหัส 16 สีรุ่นเก่า