תמונת TGA (.tga)
Truevision תקןTGA (Targa) הוא פורמט רסטר המזוהה עם כרטיסי לכידת הווידאו TARGA של Truevision, ושימש בכמה תהליכי עבודה של גרפיקה ונכסי משחקים, במיוחד בשנות ה-90 וה-2000.
המר TGA ל-PNG
ממיר חינמי מ-TGA ל-PNG פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי TGA על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי TGA על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
אין חתימה קבועהייצוג ASCII: אין חתימה קבועה
תקינה: Truevision TGA File Format Specification v2.0
מפרט טכני
| מבנה המכולה | כותרת קבועה בת 18 בתים, ואחריה מזהה תמונה, מפת צבעים, נתוני פיקסלים ומסיים אופציונלי מגרסה 2.0 |
| דחיסה | שורות סריקה גולמיות לא דחוסות או קידוד Run-Length (RLE) ללא אובדן נתונים, המבוסס על מנות |
| סדר בתים (Endianness) | Little-Endian (סדר הבתים של Intel x86) |
| מרחבי צבע | RGB של ההתקן |
| ערוצים ומבנה | גווני אפור של 8 סיביות, RGB של 16 סיביות (5-5-5-1), RGB של 24 סיביות או RGBA של 32 סיביות עם אלפא |
| ממדים מרביים | 65,535 × 65,535 פיקסלים (שדות ממדים של 16 סיביות) |
| שקיפות | ערוץ אלפא מלא של 8 סיביות (במצב 32 סיביות) או אלפא של סיבית אחת (במצב 16 סיביות) |
| הזרמה ופרוגרסיביות | הזרמה רציפה של שורות סריקה; תומך בכיוון מלמעלה למטה או מלמטה למעלה |
מטריצת השוואה טכנית: TGA מול מתחרים
| תכונה טכנית | TGA (נוכחי) | PNG | BMP | DDS |
|---|---|---|---|---|
| שימוש במרקמים למשחקי וידאו | השתמשו בו כמה מנועי משחק משנות ה-90 וה-2000 | ממשק משתמש דו-ממדי מודרני ונכסי אינטרנט | מפת סיביות ישנה של חלונות | פורמט מעבד גרפי דחוס מודרני DirectX |
| תמיכה בערוץ אלפא | ערוץ אלפא נקי של 8 סיביות (במצב של 32 סיביות) | ערוץ אלפא נקי של 8 סיביות | תמיכה מוגבלת בערוץ אלפא של 32 סיביות | ערוץ אלפא דחוס בשיטות DXT/BC |
| אלגוריתם הדחיסה | ללא דחיסה או דחיסת Packet RLE | דחיסת Deflate ללא אובדן נתונים (קטן בכ-60%) | לא דחוס / RLE | דחיסת בלוקים ישירה של מעבד גרפי (BC1-BC7) |
| מיקום החתימה | כותרת תחתונה בת 26 בתים ('TRUEVISION-XFILE.') | כותרת בית 0 ('‰PNG....') | כותרת בית 0 ('BM') | כותרת בית 0 ('DDS ') |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
התמונה מוצגת הפוכה (ראש למטה) או משוקפת אופקית.
גורם שורש: סיביות תיאור התמונה (סיביות 4 ו-5 בבית 17) נקראו באופן שגוי או הפוך על ידי המפענח.
שחזור: החלף את מצב דגלי ההיפוך האנכי והאופקי או המר באמצעות ממיר TGA של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מפענחי TGA מעבדים זרמי RLE מבוססי-מנות שבהם ספירות אורך ריצה (run-length counts) פגומות עלולות לעורר כתיבות ערימה מחוץ לגבולות (out-of-bounds heap writes).
ווקטורי תקיפה ידועים
- אורך מנת 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.') מאוחסנת ממש בסוף הקובץ במקום בתחילתו.
- כמעט כל מנוע משחק תלת-ממד מרכזי בשנות ה-90, החל מ-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 עם אפס העברת נתונים.