Truevision TGA (.tga)
Truevision استانداردTruevision TGA (Targa) فرمت گرافیکی شطرنجی تاریخی است که برای بردهای ضبط ویدیوی پیشگامانه TARGA ایجاد شده و به فرمت قطعی بافت سه بعدی و دارایی بازی ویدیویی در دهههای ۱۹۹۰ و ۲۰۰۰ تبدیل شد.
تبدیل TGA به PNG
مبدل رایگان TGA به PNG درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای TGA را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای TGA را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
00 00 02 00 00 00 00 00نمایش ASCII: ........ (Footer: TRUEVISION-XFILE)
استانداردسازی: Truevision TGA File Format Specification v2.0
مشخصات فنی
| معماری کانتینر | 18-byte fixed header followed by image ID, color map, raster pixel data, and optional v2.0 footer |
| فشردهسازی | Uncompressed raw scanlines or lossless packet-based Run-Length Encoding (RLE) |
| ترتیب بایتها (Endianness) | Little-Endian (Intel x86) |
| فضاهای رنگی | Device RGB |
| کانالها و ساختار | 8-bit grayscale, 16-bit RGB (5-5-5-1), 24-bit RGB, or 32-bit RGBA with alpha |
| حداکثر ابعاد | 65,535 x 65,535 pixels (16-bit dimension fields) |
| شفافیت مشخصات | Full 8-bit alpha channel transparency (in 32-bit mode) or 1-bit alpha (in 16-bit mode) |
| استریمینگ و پیشرونده | Sequential scanline streaming; supports top-to-bottom or bottom-to-top orientation |
ماتریس مقایسه فنی: TGA در برابر رقبا
| ویژگی فنی | TGA (فعلی) | PNG | BMP | DDS |
|---|---|---|---|---|
| استفاده از بافت بازی ویدیویی | استاندارد قدیمی جهانی دهههای ۱۹۹۰ تا ۲۰۰۰ | رابط کاربری دوبعدی مدرن و داراییهای وب | بیتمپ قدیمی ویندوز | فرمت GPU فشرده مدرن DirectX |
| پشتیبانی از کانال آلفا | آلفای ۸ بیتی تمیز (حالت ۳۲ بیتی) | آلفای ۸ بیتی تمیز | آلفای ۳۲ بیتی محدود | آلفای فشرده DXT/BC |
| الگوریتم فشردهسازی | فشردهنشده یا Packet RLE | Deflate بدون افت کیفیت (حدود ۶۰٪ کوچکتر) | فشردهنشده / RLE | فشردهسازی بلوک مستقیم GPU (BC1-BC7) |
| محل امضا | فوتر ۲۶ بایتی ('TRUEVISION-XFILE.') | هدر بایت صفر ('‰PNG....') | هدر بایت صفر ('BM') | هدر بایت صفر ('DDS ') |
حالتهای رایج خرابی و راهنمای بازیابی هگز
تصویر وارونه یا به صورت افقی معکوس رندر میشود.
علت ریشهای: بیتهای توصیفگر تصویر (بیتهای ۴ و ۵ در بایت ۱۷) بهطور نادرست خوانده شده یا توسط رمزگشا معکوس شدهاند.
بازیابی: تغییر وضعیت پرچمهای چرخش عمودی/افقی یا تبدیل با استفاده از مبدل TGA در File2File.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
رمزگشایان TGA جریانهای RLE مبتنی بر بسته را پردازش میکنند که در آن تعداد طول اجرای معیوب میتواند باعث نوشتن پشته خارج از محدوده شود.
بردارهای حمله شناختهشده
- طول بسته RLE از مرز بافر اسکنلاین مقصد فراتر میرود.
- سرریز بافر هنگام خواندن ورودیهای نقشه رنگ فراتر از عمق نقشه رنگ اعلامشده.
- سرریز عدد صحیح در طول تخصیص بافر حافظه عرض * ارتفاع * (bpp / 8).
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- معماری رمزگشایی بسیار ساده امکان بارگذاری مستقیم حافظه بافت GPU را با کمترین سربار CPU فراهم میکند.
- پشتیبانی قابل اعتماد آلفای RGBA سیودو بیتی آن را به فرمت محبوب صنعت برای بافتهای بازی ویدیویی، اسپرایتها و برچسبها تبدیل کرد.
- پشتیبانی از فشردهسازی RLE بدون افت کیفیت سبک و فشردهنشده.
محدودیتها و معایب فنی
- ردپای فایل بزرگتر از فرمتهای بافت فشرده مدرن مانند DDS، KTX2 یا PNG.
- فاقد مدیریت پروفایل رنگ بومی (بدون پروفایلهای ICC جاسازیشده).
- فایلهای TGA نسخه 1.0 اصلی فاقد بایت جادویی استاندارد در بایت 0 هستند (که با فیلدهای هدر و فوتر شناسایی میشوند).
نکات فنی جالب
- فرمت TGA برای ثبت فریمهای ویدیویی پخششده روی رایانه شخصی IBM قبل از اینکه مانیتورهای استاندارد رایانه شخصی حتی بتوانند رنگ ۲۴ بیتی را نمایش دهند، ایجاد شد.
- فایلهای TGA 2.0 بینظیر هستند زیرا امضای جادویی آنها ('TRUEVISION-XFILE.') به جای ابتدا، در انتهای فایل ذخیره میشود.
- تقریباً هر موتور بازی سهبعدی بزرگ در دهه ۱۹۹۰، از id Tech گرفته تا Unreal Engine، داراییهای بافت را مستقیماً از فایلهای .TGA بارگذاری میکرد.
سوالات فنی متداول
چرا توسعهدهندگان بازی فرمت TGA را دوست داشتند؟
زیرا فایلهای TGA فشردهنشده یا دارای الگوریتم ساده RLE بودند که به موتورهای بازی اجازه میداد بافتهای ۳۲ بیتی و شفافیت آلفا را مستقیماً و بدون نیاز به فرآیند کندِ فشردهزدایی، در حافظه ویدیویی بارگذاری کنند.
چگونه میتوان یک فایل TGA را که فاقد بایتهای جادویی در بایت ۰ است، شناسایی کرد؟
فایلهای مدرن TGA 2.0 با رشته اسکی 'TRUEVISION-XFILE.' در ۲۶ بایت پایانی فایل به پایان میرسند.
چگونه میتوانم TGA را به PNG تبدیل کنم؟
شما میتوانید با استفاده از File2File.app و بدون هیچگونه انتقال داده، بافتهای TGA را مستقیماً در مرورگر خود به تصاویر باکیفیت PNG یا JPG تبدیل کنید.