איך עובד מיכל .ICO של Windows (ICONDIR ו-ICONDIRENTRY)
תשובה קצרה: בניגוד ל-PNG או ל-JPEG, קובץ .ico הוא מיכל בינארי (ICONDIR) שמאחסן כמה רזולוציות עצמאיות (מ-16×16 עד 256×256) בקובץ אחד, כדי שסייר Windows, שורת המשימות וקיצורי שולחן העבודה יבחרו את השכבה המתאימה ל-DPI.
טעות נפוצה היא לחשוב שהמרת PNG ל-.ico היא רק שינוי סיומת. אם משנים שם של logo.png ל-logo.ico, מהדרי משאבים של Visual Studio (rc.exe), מתקיני Inno Setup, Electron Builder ובניות Tauri ידחו את הקובץ בגלל כותרת לא תקינה.
Utiliome בונה מאגר .ico בינארי little-endian תואם מפרט ישירות בדפדפן באמצעות ArrayBuffer ו-DataView:
- כותרת קובץ
ICONDIR של 6 בייטים: כותב 0x0000 (שמור), 0x0001 (סוג 1 = אייקון Windows), וספירת uint16 של שכבות הרזולוציה.
- טבלת
ICONDIRENTRY של 16 בייטים לכל שכבה: לכל רזולוציה (16, 24, 32, 48, 64, 128, 256) נכתבים רוחב וגובה (0 מסמן 256px לפי מפרט Windows Vista ומעלה), מישורי צבע (1), סיביות לפיקסל (32 לאלפא RGBA מלא), אורך בבייטים והיסט מדויק.
- מטעני מסגרת PNG ב-RGBA של 32 סיביות: משרשר כל מסגרת PNG שנדגמה מחדש בהיסט הבייטים שחושב.
באילו שכבות רזולוציה של .ICO משתמשים Windows 10, Windows 11 ואפליקציות דסקטופ?
תשובה קצרה: כדי למנוע הגדלה מטושטשת או הקטנה משוננת במסכי 100%, 150% ו-200% DPI, קובץ .ico לדסקטופ צריך לכלול לפחות 16×16, 32×32, 48×48 ו-256×256 — או את כל 7 השכבות התקניות.
סייר הקבצים ושורת המשימות בוחרים שכבה אחרת מהמיכל לפי מצב התצוגה ומקדם קנה המידה:
| שכבה מוטמעת |
הקשר תצוגה ב-Windows / באפליקציה |
16 × 16 px |
תצוגת פרטים/רשימה בסייר, שורות כותרת, תפריטי הקשר ולשוניות דפדפן |
24 × 24 px |
אזור ההתראות ב-Windows 10/11 ב-150% DPI וסרגלי כלים קלאסיים |
32 × 32 px |
קיצורי שולחן עבודה, אייקונים קטנים בסייר וכפתורי שורת משימות ב-100% |
48 × 48 px |
אייקונים בינוניים בסייר, אריחי תפריט התחלה ומחליף Alt+Tab |
64 × 64 px |
שורת משימות וקיצורים ב-DPI גבוה (200% Retina/4K) |
128 × 128 px |
אייקונים גדולים בסייר ותצוגות מקדימות של מתקינים |
256 × 256 px |
אייקונים גדולים מאוד, קנה מידה HiDPI ב-Windows 11 ומאפייני .exe |
ממיר ICO מול מחולל Favicon לאתר: איזה כלי לבחור
תשובה קצרה: השתמשו במחולל וממיר ICO כשצריך קובץ .ico רב-שכבתי עצמאי (16px עד 256px) לאפליקציות Windows, לתיקיות או להמרת PNG ל-ICO באצווה. השתמשו במחולל Favicon כשצריך חבילת ווב עם אייקוני Apple, PNG ל-PWA ו-site.webmanifest.
בחרו את הכלי לפי מערכת היעד:
| שימוש |
כלי מומלץ |
למה הוא מתאים |
אפליקציות .exe (Electron, Tauri, C#, C++), אייקוני תיקייה או אצוות .ico |
מחולל וממיר ICO (הכלי הזה) |
אורז עד 7 שכבות (16px–256px) לקובצי .ico עצמאיים עם ZIP |
Favicon ב-<head>, אייקון מסך הבית ב-iPhone ו-PWA באנדרואיד |
מחולל Favicon |
מייצר favicon.ico + apple-touch-icon.png (180×180) + PNG 192/512 + site.webmanifest + תגי HTML |
מיטוב .svg מקור לפני ההמרה |
מיטוב SVG |
מנקה נפח עורך ומנרמל גאומטריית viewBox |
רסטריזציה של .svg ל-.png עד 8192px |
ממיר SVG ל-PNG |
מייצא PNG שקוף ללא אובדן ב-1x, 2x, 4x או 8x |