Truevision TGA (.tga)
Truevision มาตรฐานTGA (Targa) เป็นรูปแบบแรสเตอร์ที่เกี่ยวข้องกับบอร์ดจับภาพวิดีโอ TARGA ของ Truevision และเคยใช้ในเวิร์กโฟลว์กราฟิกและทรัพยากรเกมบางประเภท โดยเฉพาะในช่วงทศวรรษ 1990 และ 2000
แปลง TGA เป็น PNG
ตัวแปลงจาก TGA เป็น PNG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TGA โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TGA โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
ไม่มีลายเซ็นตายตัวการแสดงผลรูปแบบ ASCII: ไม่มีลายเซ็นตายตัว
มาตรฐาน: Truevision TGA File Format Specification v2.0
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | ส่วนหัวขนาดคงที่ 18 ไบต์ ตามด้วย ID ภาพ, แผนผังสี, ข้อมูลพิกเซลแรสเตอร์ และส่วนท้าย v2.0 (เลือกมีได้) |
| การบีบอัด | สแกนไลน์ดิบที่ไม่บีบอัด หรือ Run-Length Encoding (RLE) แบบแพ็กเก็ตที่ไม่สูญเสียข้อมูล |
| การจัดลำดับไบต์ | ลำดับไบต์แบบ Little-Endian (Intel x86) |
| พื้นที่สี | RGB ของอุปกรณ์ |
| ช่องสัญญาณและโครงสร้าง | ระดับเทาสเกล 8 บิต, RGB 16 บิต (5-5-5-1), RGB 24 บิต หรือ RGBA 32 บิตพร้อมอัลฟา |
| ขนาดสูงสุด | 65,535 x 65,535 พิกเซล (ฟิลด์มิติ 16 บิต) |
| ความโปร่งใส | ความโปร่งใสด้วยช่องอัลฟาเต็มรูปแบบ 8 บิต (ในโหมด 32 บิต) หรืออัลฟา 1 บิต (ในโหมด 16 บิต) |
| การสตรีมและแบบโปรเกรสซีฟ | สตรีมมิงสแกนไลน์ตามลำดับ; รองรับการวางแนวจากบนลงล่างหรือจากล่างขึ้นบน |
ตารางเปรียบเทียบทางเทคนิค: TGA กับคู่แข่ง
| คุณลักษณะทางเทคนิค | TGA (ปัจจุบัน) | PNG | BMP | DDS |
|---|---|---|---|---|
| การใช้งานพื้นผิววิดีโอเกม | ใช้โดยเอนจินเกมบางตัวในช่วงทศวรรษ 1990-2000 | ทรัพยากร UI 2 มิติและเว็บสมัยใหม่ | บิตแมปมรดกของ Windows | รูปแบบ GPU บีบอัดสมัยใหม่ของ DirectX |
| การรองรับอัลฟาแชนเนล | ช่องอัลฟา 8 บิตที่ให้ความโปร่งใสเนียนตา (โหมด 32 บิต) | ช่องอัลฟา 8 บิตที่ให้ความโปร่งใสเนียนตา | อัลฟา 32 บิตแบบจำกัด | อัลฟาบีบอัด DXT/BC |
| อัลกอริทึมการบีบอัด | ไม่บีบอัดหรือ Packet RLE | การบีบอัด Deflate แบบไม่สูญเสียข้อมูล การประหยัดขนาดขึ้นอยู่กับเนื้อหาภาพ | ไม่บีบอัด / RLE | การบีบอัดบล็อก GPU โดยตรง (BC1-BC7) |
| ตำแหน่งลายเซ็น | ส่วนท้าย 26 ไบต์ ('TRUEVISION-XFILE.') | ส่วนหัวไบต์ 0 ('‰PNG....') | ส่วนหัวไบต์ 0 ('BM') | ส่วนหัวไบต์ 0 ('DDS ') |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
ภาพแสดงผลกลับหัวหรือสะท้อนในแนวนอน
สาเหตุหลัก: บิตตัวอธิบายภาพ (บิต 4 และ 5 ในไบต์ 17) ถูกอ่านผิดหรือกลับด้านโดยตัวถอดรหัส
การกู้คืน: สลับแฟล็กพลิกแนวตั้ง/แนวนอน หรือแปลงโดยใช้ File2File.app TGA Converter
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ตัวถอดรหัส TGA ประมวลผลสตรีม RLE แบบแพ็กเก็ต หากจำนวนพิกเซลในช่วง RLE ผิดพลาด อาจเขียนข้อมูลนอกขอบเขตฮีปได้
เวกเตอร์การโจมตีที่ทราบ
- ความยาวแพ็กเก็ต RLE เกินขอบเขตบัฟเฟอร์สแกนไลน์ปลายทาง
- บัฟเฟอร์ล้นเมื่ออ่านรายการแผนผังสีที่เกินความลึกแผนผังสีที่ประกาศ
- จำนวนเต็มล้นระหว่างการจัดสรรบัฟเฟอร์หน่วยความจำ width * height * (bpp / 8)
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: บังคับใช้การตรวจสอบขอบเขตต่อบรรทัดสแกนอย่างเข้มงวดระหว่างการแกะแพ็กเก็ต RLE
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- สถาปัตยกรรมการถอดรหัสที่เรียบง่ายสุดขีดช่วยให้สามารถโหลดหน่วยความจำพื้นผิว GPU ได้โดยตรงด้วยภาระงาน CPU ที่น้อยที่สุด
- TGA จัดเก็บข้อมูล RGB 24 บิตหรือ RGBA 32 บิตพร้อมช่องอัลฟาได้ จึงมีประโยชน์ในเวิร์กโฟลว์พื้นผิว สไปรต์ และเดคัลเกมบางประเภท
- รองรับทั้งแบบไม่บีบอัดและการบีบอัด RLE แบบไม่สูญเสียข้อมูลที่มีน้ำหนักเบา
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- ขนาดไฟล์ที่ใหญ่กว่ารูปแบบพื้นผิวบีบอัดสมัยใหม่ เช่น DDS, KTX2 หรือ PNG
- ขาดการจัดการโปรไฟล์สีแบบดั้งเดิม (ไม่มีโปรไฟล์ ICC ฝังอยู่)
- ไฟล์ TGA v1.0 ดั้งเดิมไม่มีไบต์ลายเซ็นมาตรฐานที่ตำแหน่งไบต์ 0 (ระบุชนิดไฟล์จากฟิลด์ส่วนหัวและส่วนท้าย)
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- TGA ถูกสร้างขึ้นเพื่อบันทึกเฟรมวิดีโอบรอดคาสต์บน IBM PC ก่อนที่จอภาพพีซีมาตรฐานจะสามารถแสดงสี 24 บิตได้เสียอีก
- ไฟล์ TGA 2.0 มีลักษณะเฉพาะตรงที่ลายเซ็นไฟล์ ('TRUEVISION-XFILE.') อยู่ที่ท้ายไฟล์ แทนที่จะอยู่ตอนต้น
- TGA ถูกใช้เป็นพื้นผิวโดยเอนจินเกมบางตัวในยุค 1990 รวมถึงเกมของ id Software และ Valve
คำถามทางเทคนิคที่พบบ่อย
เหตุใดนักพัฒนาเกมจึงชอบรูปแบบ TGA?
เนื่องจากไฟล์ TGA ไม่มีการบีบอัดหรือใช้ RLE อย่างง่าย ช่วยให้เอนจิ้นเกมสามารถโหลดเท็กซ์เจอร์ 32 บิตและความโปร่งใสของอัลฟาลงในหน่วยความจำวิดีโอได้โดยตรงโดยไม่ต้องทำการคลายการบีบอัดที่ช้า
ระบุไฟล์ TGA ที่ไม่มีไบต์ลายเซ็นที่ตำแหน่งไบต์ 0 ได้อย่างไร
ไฟล์ TGA 2.0 สมัยใหม่จะลงท้ายด้วยสตริง ASCII 'TRUEVISION-XFILE.' ใน 26 ไบต์สุดท้ายของไฟล์
แปลง TGA เป็น PNG ได้อย่างไร
ไฟล์ TGA อาจมีช่อง alpha ที่ใช้กับเท็กซ์เจอร์เกม แปลงเป็น PNG เพื่อคงความโปร่งใส หรือเป็น JPEG สำหรับภาพทึบที่เล็กกว่า ตัวแปลงนี้ทำงานในเบราว์เซอร์
คู่การแปลงไฟล์ TGA ที่เกี่ยวข้อง
ถอดรหัสเท็กซ์เจอร์เกม Truevision TGA ขนาด 24-bit และ 32-bit รวมถึงกราฟิกแรสเตอร์ ให้เป็นรูปแบบ PNG แบบไม่สูญเสียข้อมูลที่รองรับอย่างแพร่หลาย
แปลงเท็กซ์เจอร์หรือสไปรต์ TGA เป็น PDF หนึ่งหน้าเพื่อใช้ตรวจทานงานออกแบบ หน้า PDF จะแสดงพิกเซลที่ถอดรหัสแล้ว ไม่ใช่ข้อมูล TGA ที่แก้ไขได้หรือการเข้ารหัสแพ็กเก็ต