Truevision TGA (.tga)

Truevision Tiêu chuẩn

TGA (Targa) là định dạng raster gắn với bo mạch thu hình TARGA của Truevision và từng được dùng trong một số quy trình đồ họa và tài nguyên trò chơi, nhất là vào thập niên 1990 và 2000.

Chuyển đổi TGA sang PNG

Trình chuyển đổi từ TGA sang PNG miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp TGA bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp TGA bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

Không có chữ ký cố định

BIỂU DIỄN ASCII: Không có chữ ký cố định

Tiêu chuẩn hóa: Truevision TGA File Format Specification v2.0

Thông số kỹ thuật

Kiến trúc ContainerTiêu đề cố định 18 byte, tiếp theo là ID ảnh, bản đồ màu, dữ liệu điểm ảnh raster và chân trang v2.0 tùy chọn
NénDòng quét thô không nén hoặc mã hóa độ dài chuỗi (RLE) theo gói, không mất dữ liệu
Thứ tự byteLittle-endian (Intel x86)
Không gian màuRGB phụ thuộc thiết bị
Kênh & Cấu trúcThang xám 8 bit, RGB 16 bit (5-5-5-1), RGB 24 bit hoặc RGBA 32 bit có alpha
Kích thước tối đa65.535 x 65.535 điểm ảnh (trường kích thước 16 bit)
Độ trong suốtĐộ trong suốt alpha đầy đủ 8 bit ở chế độ 32 bit hoặc alpha 1 bit ở chế độ 16 bit
Truyền phát & Tăng dầnTruyền dòng quét tuần tự; hỗ trợ hướng từ trên xuống hoặc từ dưới lên

Ma trận so sánh kỹ thuật: TGA so với các đối thủ

Thuộc tính kỹ thuậtTGA (Hiện tại)PNGBMPDDS
Sử dụng kết cấu trò chơi điện tửĐược một số engine trò chơi sử dụng trong thập niên 1990-2000.Giao diện người dùng 2D hiện đại & tài sản webBitmap kế thừa WindowsĐịnh dạng GPU nén hiện đại DirectX
Hỗ trợ kênh AlphaAlpha 8-bit sạch (chế độ 32-bit)Alpha 8-bit sạchAlpha 32-bit hạn chếAlpha nén DXT/BC
Thuật toán nénKhông nén hoặc RLE góiNén Deflate không mất dữ liệu; mức tiết kiệm tùy nội dung ảnh.Không nén / RLENén khối GPU trực tiếp (BC1-BC7)
Vị trí chữ kýChân trang 26-byte ('TRUEVISION-XFILE.')Tiêu đề byte 0 ('‰PNG....')Tiêu đề byte 0 ('BM')Tiêu đề byte 0 ('DDS ')

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Hình ảnh hiển thị lộn ngược hoặc bị lật theo chiều ngang.

Nguyên nhân gốc rễ: Các bit mô tả hình ảnh (bit 4 và 5 trong byte 17) bị đọc nhầm hoặc bị đảo ngược bởi trình giải mã.

Khắc phục: Chuyển đổi cờ lật dọc/ngang hoặc chuyển đổi bằng Trình chuyển đổi TGA của File2File.app.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

Trình giải mã TGA xử lý các luồng RLE dựa trên gói, trong đó số lượng độ dài chuỗi bị lỗi có thể kích hoạt ghi heap vượt quá giới hạn.

Các véc-tơ tấn công đã biết

  • Độ dài gói RLE vượt quá ranh giới bộ đệm dòng quét đích.
  • Tràn bộ đệm khi đọc các mục bản đồ màu vượt quá độ sâu bản đồ màu đã khai báo.
  • Tràn số nguyên trong quá trình cấp phát bộ nhớ đệm width * height * (bpp / 8).

Biện pháp phòng thủ tốt nhất: Áp dụng việc kiểm tra ranh giới nghiêm ngặt trên mỗi dòng quét trong quá trình giải gói RLE.

Nguồn gốc lịch sử và các cột mốc

1998TGA trở nên phổ biến trong quy trình đồ họa trò chơi vì hỗ trợ dữ liệu màu trực tiếp và alpha; các engine như Quake II của id Software dùng TGA cho texture.
1989Truevision phát hành Định dạng tệp TGA v2.0, thêm phần chân trang tiêu chuẩn 26 byte 'TRUEVISION-XFILE'.
1984Truevision giới thiệu bo mạch video TARGA (Truevision Advanced Raster Graphics Adapter) và định dạng TGA.

Ưu điểm & Lợi ích chính

  • Kiến trúc giải mã cực kỳ đơn giản cho phép tải trực tiếp bộ nhớ kết cấu GPU với chi phí CPU tối thiểu.
  • TGA có thể lưu dữ liệu RGB 24-bit hoặc RGBA 32-bit, bao gồm kênh alpha, nên hữu ích trong một số quy trình làm texture, sprite và decal cho trò chơi.
  • Hỗ trợ cả tính năng không nén và nén RLE không mất dữ liệu nhẹ.

Hạn chế & Nhược điểm kỹ thuật

  • Dung lượng tệp lớn hơn so với các định dạng kết cấu nén hiện đại như DDS, KTX2 hoặc PNG.
  • Thiếu quản lý cấu hình màu gốc (không có cấu hình ICC nhúng).
  • Các tệp TGA v1.0 gốc thiếu byte nhận dạng chuẩn ở byte 0 (được nhận dạng bởi các trường tiêu đề và chân trang).

Thông tin kỹ thuật thú vị

  • TGA được tạo ra để ghi lại các khung hình video phát sóng trên máy tính IBM trước khi màn hình PC tiêu chuẩn thậm chí có thể hiển thị màu 24-bit.
  • Các tệp TGA 2.0 rất độc đáo vì chữ ký nhận dạng của chúng ('TRUEVISION-XFILE.') được lưu trữ ở ngay cuối tệp thay vì ở phần đầu.
  • TGA được một số engine trò chơi thập niên 1990 dùng làm texture, gồm các trò chơi của id Software và Valve.

Các câu hỏi kỹ thuật thường gặp

Tại sao các nhà phát triển trò chơi lại thích định dạng TGA?

Bởi vì các tệp TGA không nén hoặc sử dụng RLE đơn giản, cho phép các công cụ trò chơi tải các kết cấu 32-bit và độ trong suốt alpha trực tiếp vào bộ nhớ video mà không cần giải nén chậm.

Làm thế nào để nhận diện tệp TGA khi byte đầu tiên không có chữ ký cố định?

Các tệp TGA 2.0 hiện đại kết thúc bằng chuỗi ASCII 'TRUEVISION-XFILE.' trong 26 byte cuối cùng của tệp.

Làm cách nào để chuyển đổi TGA sang PNG?

Tệp TGA có thể chứa kênh alpha dùng trong texture trò chơi. Chuyển sang PNG để giữ độ trong suốt hoặc JPEG cho ảnh đặc nhỏ hơn; bộ chuyển đổi chạy trong trình duyệt.