Truevision TGA (.tga)
Truevision มาตรฐานTruevision TGA (Targa) คือรูปแบบกราฟิกแรสเตอร์ประวัติศาสตร์ที่สร้างขึ้นสำหรับการ์ดจับภาพวิดีโอ TARGA ที่ก้าวล้ำ ซึ่งกลายเป็นรูปแบบพื้นผิว 3 มิติและสินทรัพย์วิดีโอเกมที่กำหนดนิยามในทศวรรษ 1990 และ 2000
แปลง TGA เป็น PNG
ตัวแปลงจาก TGA เป็น PNG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบและดู Metadata
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TGA โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TGA โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 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) |
| การจัดลำดับไบต์ (Byte 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 |
|---|---|---|---|---|
| การใช้งานพื้นผิววิดีโอเกม | มาตรฐานมรดกสากลยุค 1990-2000 | UI 2D สมัยใหม่ & สินทรัพย์เว็บ | บิตแมปมรดกของ Windows | รูปแบบ GPU บีบอัดสมัยใหม่ของ DirectX |
| การรองรับอัลฟาแชนเนล | อัลฟา 8 บิตที่สะอาด (โหมด 32 บิต) | อัลฟา 8 บิตที่สะอาด | อัลฟา 32 บิตแบบจำกัด | อัลฟาบีบอัด DXT/BC |
| อัลกอริทึมการบีบอัด | ไม่บีบอัดหรือ Packet RLE | Deflate แบบไม่สูญเสียข้อมูล (~เล็กกว่า 60%) | ไม่บีบอัด / RLE | การบีบอัดบล็อก GPU โดยตรง (BC1-BC7) |
| ตำแหน่งลายเซ็น | ส่วนท้าย 26 ไบต์ ('TRUEVISION-XFILE.') | ส่วนหัวไบต์ 0 ('‰PNG....') | ส่วนหัวไบต์ 0 ('BM') | ส่วนหัวไบต์ 0 ('DDS ') |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
ภาพแสดงผลกลับหัวหรือสะท้อนในแนวนอน
สาเหตุหลัก: บิตตัวอธิบายภาพ (บิต 4 และ 5 ในไบต์ 17) ถูกอ่านผิดหรือกลับด้านโดยตัวถอดรหัส
การกู้คืน: สลับแฟล็กพลิกแนวตั้ง/แนวนอน หรือแปลงโดยใช้ File2File TGA Converter
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ตัวถอดรหัส TGA ประมวลผลสตรีม RLE แบบแพ็กเก็ต ซึ่งจำนวนความยาวการทำงานที่ผิดรูปสามารถทริกเกอร์การเขียนฮีปนอกขอบเขตได้
เวกเตอร์การโจมตีที่ทราบ
- ความยาวแพ็กเก็ต RLE เกินขอบเขตบัฟเฟอร์สแกนไลน์ปลายทาง
- บัฟเฟอร์ล้นเมื่ออ่านรายการแผนผังสีที่เกินความลึกแผนผังสีที่ประกาศ
- จำนวนเต็มล้นระหว่างการจัดสรรบัฟเฟอร์หน่วยความจำ width * height * (bpp / 8)
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- สถาปัตยกรรมการถอดรหัสที่เรียบง่ายสุดขีดช่วยให้สามารถโหลดหน่วยความจำพื้นผิว GPU ได้โดยตรงด้วยภาระงาน CPU ที่น้อยที่สุด
- การรองรับแชนเนลอัลฟา RGBA 32 บิตที่เชื่อถือได้ทำให้เป็นรูปแบบโปรดในอุตสาหกรรมสำหรับพื้นผิววิดีโอเกม สปรายต์ และเดคาน
- รองรับทั้งแบบไม่บีบอัดและแบบบีบอัด RLE แบบสูญเสียข้อมูลต่ำที่มีน้ำหนักเบา
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- รอยเท้าขนาดไฟล์ที่ใหญ่กว่ารูปแบบพื้นผิวบีบอัดสมัยใหม่ เช่น DDS, KTX2 หรือ PNG
- ขาดการจัดการโปรไฟล์สีแบบดั้งเดิม (ไม่มีโปรไฟล์ ICC ฝังอยู่)
- ไฟล์ TGA v1.0 ดั้งเดิมไม่มีไบต์เวทมนตร์มาตรฐานที่ไบต์ 0 (ระบุโดยฟิลด์ส่วนหัวและส่วนท้าย)
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- TGA ถูกสร้างขึ้นเพื่อบันทึกเฟรมวิดีโอบรอดคาสต์บน IBM PC ก่อนที่จอภาพพีซีมาตรฐานจะสามารถแสดงสี 24 บิตได้เสียอีก
- ไฟล์ TGA 2.0 มีความพิเศษเนื่องจากลายเซ็นเวทมนตร์ ('TRUEVISION-XFILE.') ถูกเก็บไว้ที่ส่วนท้ายสุดของไฟล์แทนที่จะเป็นส่วนต้น
- เอ็นจิ้นเกม 3 มิติรายใหญ่ในยุค 1990 เกือบทั้งหมด ตั้งแต่ id Tech ไปจนถึง Unreal Engine โหลดสินทรัพย์พื้นผิวโดยตรงจากไฟล์ .TGA
คำถามทางเทคนิคที่พบบ่อย
เหตุใดนักพัฒนาเกมจึงชอบรูปแบบ TGA?
เนื่องจากไฟล์ TGA ไม่มีการบีบอัดหรือใช้ RLE อย่างง่าย ช่วยให้เอนจิ้นเกมสามารถโหลดเท็กซ์เจอร์ 32 บิตและความโปร่งใสของอัลฟาลงในหน่วยความจำวิดีโอได้โดยตรงโดยไม่ต้องทำการคลายการบีบอัดที่ช้า
ฉันจะระบุไฟล์ TGA ที่ไม่มีไบต์วิเศษ (magic bytes) ที่ไบต์ 0 ได้อย่างไร?
ไฟล์ TGA 2.0 สมัยใหม่จะลงท้ายด้วยสตริง ASCII 'TRUEVISION-XFILE.' ใน 26 ไบต์สุดท้ายของไฟล์
ฉันจะแปลง TGA เป็น PNG ได้อย่างไร?
คุณสามารถแปลงเท็กซ์เจอร์ TGA เป็นภาพ PNG หรือ JPG คุณภาพสูงได้โดยตรงในเบราว์เซอร์ของคุณโดยใช้ File2File.app โดยไม่มีการรับส่งข้อมูลใดๆ