ZSoft PCX (.pcx)
ZSoft استانداردبیتمپ ZSoft PC Paintbrush (PCX) فرمت گرافیکی افسانهای و اولیه رایانههای شخصی است که به اولین استاندارد تصویر شطرنجی به طور گسترده پذیرفته شده برای MS-DOS، سازگارهای IBM PC و بازیهای کلاسیک کامپیوتری تبدیل شد.
تبدیل PCX به PNG
مبدل رایگان PCX به PNG درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای PCX را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای PCX را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 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 |
| ترتیب بایتها (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 |
|---|---|---|---|---|
| دوران فعال | ۱۹۸۵ - ۱۹۹۵ (عصر طلایی MS-DOS) | ۱۹۹۰ - اکنون (استاندارد ویندوز) | ۱۹۸۷ - اکنون (استاندارد وب) | ۱۹۹۶ - اکنون (استاندارد وب مدرن) |
| الگوریتم فشردهسازی | فشردهسازی RLE مبتنی بر بایت | بدون فشردهسازی / RLE | فشردهسازی بدون حق ثبت اختراع LZW | فشردهسازی Deflate LZ77 |
| معماری رنگ | بیتپلانهای EGA/VGA و پالتبندی شده | خطوط اسکن DIB | رنگهای نمایهسازی شده ۲۵۶ | Truecolor ۲۴/۴۸ بیتی + آلفا |
| محل پالت | پیوست شده در انتهای فایل EOF (۷۶۸ بایت) | نزدیک هدر فایل | نزدیک هدر فایل | تکه PLTE جاسازی شده |
حالتهای رایج خرابی و راهنمای بازیابی هگز
رنگهای تصویر کاملاً معکوس یا به شکل یک نگاتیو روانگردان به هم ریخته رندر میشوند.
علت ریشهای: بلوک پالت VGA 256 رنگی گمشده یا برش خورده در انتهای فایل.
بازیابی: پالت پیشفرض VGA را دوباره اعمال کنید یا با استفاده از مبدل File2File PCX به PNG تبدیل کنید.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
رمزگشاهای PCX بایتهای کدگذاریشده با طول اجرا (RLE) را به خطوط اسکن پردازش میکنند که در آن تعداد اجرای ناقص میتواند باعث سرریز بافر پشته (Heap buffer overflow) شود.
بردارهای حمله شناختهشده
- اجرای بایت RLE که از عرض خط اسکن فراتر میرود و باعث نوشتن حافظه فراتر از مرزهای بافر میشود.
- سرریز بافر هنگام خواندن صفحات فراتر از تعداد صفحه اعلام شده در هدر.
- حمله محرومیت از سرویس (DoS) از طریق محاسبات آفست پالت خراب.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- اهمیت غنی تاریخی: فرمت بنیادی انقلاب اولیه بازیهای کامپیوتری IBM و نرمافزارهای اشتراکی.
- چیدمان حافظه مسطح جهتدار سختافزاری امکان کپی کردن مستقیم را در حافظه کارت ویدیو EGA/VGA فراهم میکند.
- فشردهسازی سبک RLE اندازههای فایل تصاویر و نمودارهای با رنگ کم را کاهش میدهد.
محدودیتها و معایب فنی
- منسوخ شدن: عملاً تمام جریانهای کاری مدرن به PNG و فرمتهای شطرنجی مدرن مهاجرت کردهاند.
- پالت ۲۵۶ رنگی VGA در انتهای فایل پیوست شده است که برای رمزگشایی رنگها نیاز به خواندن کامل فایل دارد.
- فشردهسازی ناکارآمد روی تصاویر پیچیده عکاسی.
نکات فنی جالب
- اولین بایت هر فایل PCX همیشه 0x0A (عدد اعشاری ۱۰) است که نشاندهنده شناسه سازنده داخلی ZSoft است.
- برای بررسی اینکه آیا یک فایل PCX 8 بیتی دارای پالت 256 رنگ است، ۷۶۹ بایت از انتهای فایل را جستجو میکنید و بایت 0x0C (عدد اعشاری ۱۲) را بررسی میکنید.
- بازیهای کلاسیک کامپیوتری از جمله Wolfenstein 3D، DOOM و Duke Nukem 3D تصاویر تبلیغاتی و هنرهای منوی خود را در فرمت PCX ذخیره میکردند.
سوالات فنی متداول
چه برنامهای فایلهای .PCX را ایجاد کرد؟
نرمافزار ZSoft PC Paintbrush که اولین برنامه گرافیکی محبوب برای کامپیوترهای IBM در دهه ۱۹۸۰ بود و اغلب به همراه ماوسهای مایکروسافت عرضه میشد.
آیا میتوانم یک فایل قدیمی PCX را به PNG یا JPG تبدیل کنم؟
بله. File2File.app میتواند بافتها و آثار هنری بازیهای تاریخی PCX را مستقیماً در مرورگر شما به تصاویر مدرن و واضح PNG یا JPG تبدیل کنید.
چرا پالت رنگی در انتهای یک فایل PCX قرار دارد؟
هنگامی که استاندارد VGA با ۲۵۶ رنگ در سال ۱۹۸۸ معرفی شد، شرکت ZSoft پالت RGB با اندازه ۷۶۸ بایت را به انتهای فایل الحاق کرد که با نشانگر ۰x0C پیشوند شده بود تا سازگاری رو به عقب با رمزگشاهای قدیمیتر ۱۶ رنگ حفظ شود.