Truevision TGA (.tga)
Truevision Tiêu chuẩnTGA (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ữ 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ố địnhBIỂ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 Container | Tiê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én | Dò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ự byte | Little-endian (Intel x86) |
| Không gian màu | RGB phụ thuộc thiết bị |
| Kênh & Cấu trúc | Thang 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 đa | 65.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ần | Truyề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ật | TGA (Hiện tại) | PNG | BMP | DDS |
|---|---|---|---|---|
| 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 web | Bitmap kế thừa Windows | Định dạng GPU nén hiện đại DirectX |
| Hỗ trợ kênh Alpha | Alpha 8-bit sạch (chế độ 32-bit) | Alpha 8-bit sạch | Alpha 32-bit hạn chế | Alpha nén DXT/BC |
| Thuật toán nén | Không nén hoặc RLE gói | Né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 / RLE | Né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
Ư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.
Các cặp chuyển đổi TGA liên quan
Giải mã kết cấu trò chơi và đồ họa raster Truevision TGA 24-bit và 32-bit sang định dạng PNG không mất dữ liệu, tương thích rộng rãi.
Chuyển texture hoặc sprite TGA thành PDF một trang để duyệt thiết kế. Trang hiển thị các pixel đã giải mã, không phải dữ liệu TGA có thể chỉnh sửa hay cách mã hóa theo gói.