Loading AI tools
פורמט תמונה דיגיטלית מוויקיפדיה, האנציקלופדיה החופשית
PNG (ראשי תיבות: Portable Network Graphics, בתרגום לעברית: "גרפיקה ניידת לרשת") הוא פורמט תמונה דיגיטלית המשתמש בדחיסה ללא איבוד נתונים. יוצרי הפורמט קבעו שיש לבטא אותו "פינג", אך בפועל קוראים את ראשי התיבות לאותיותיהן בדרך כלל, קרוב לוודאי כדי למנוע בלבול עם כלי הרשת ping. סיומת קובצי התמונה בפורמט PNG היא png לרוב, ומציין ה-MIME של הפורמט הוא image/png.
בשנת 1995 הודיעה חברת יוניסיס על כוונתה לגבות תשלום עבור השימוש באלגוריתם הדחיסה LZW, שבו משתמש, בין היתר, פורמט GIF. צעד זה הוליד את הצורך ליצור תחליף חופשי ממגבלות רישוי עבור GIF, וכך הוחל ביצירת PNG. היוצרים החליטו באותה הזדמנות לחבר פורמט טוב מ-GIF גם מבחינות אחרות, למשל על ידי הסרת המגבלה של 256 צבעים.
כל קובץ PNG מתחיל בחתימה באורך 8 בית. ערכיהם של הבתים בהקסדצימלית הם 89 50 4E 47 0D 0A 1A 0A, כל אחד לצורך מטרה מפורשת:
אחרי הפתיח באים חלקים של הקובץ בגושים (chunks). אלה מכילים את התמונה עצמה ומידע עליה, שחלק ממנו הכרחי לתצוגת התמונה וחלק נועד רק לשפר אותה. הראשונים הם הגושים ההכרחיים (critical) והאחרונים גושי העזר (ancillary). החלוקה לגושים נקבעה כדי לאפשר את הרחבת הפורמט בלי לשבור את התאימות לאחור.
לפני כל גוש יש ארבעה בתים המציינים את אורך הנתונים אשר בו (כלומר ללא שם הגוש וה-CRC). אחריהם בא שם הגוש, המורכב מארבע אותיות. בשם זה יש הבחנה בין אותיות גדולות לבין קטנות. אם הראשונה גדולה, הגוש הכרחי, ואם קטנה אז הוא גוש עזר. אם השנייה גדולה, הגוש הוא חלק מתקן ציבורי, ואם קטנה אז הוא גוש פרטי. האות הרביעית נוגעת לגושים שהעורך אינו מכיר אותם: אם היא קטנה, מותר לעורך להעתיק אותו בכל מקרה, ואם היא גדולה אז מותר להעתיק אותו רק אם לא שונו הגושים ההכרחיים של הקובץ.
אחרי שם הגוש באים הנתונים של הגוש עצמו. אחרי כל גוש בא CRC (סכום בדיקה של סיביות) של שם הגוש והמידע (ללא האורך) באורך 4 בתים, שתפקידו לוודא שלא היו שגיאות בהורדת הקובץ.
את הגושים ההכרחיים חייבת כל תוכנת פריסה להכיר כדי לקרוא ולהציג את קובץ ה-PNG:
גושי העזר אינם הכרחיים לתצוגה הנכונה של התמונה, אך יש בהם כדי לשפר אותה מאוד. בנוסף יש גושי טקסט להוספת מידע על התמונה בשפת אנוש.
עומק סיביות לערוץ | 1 | 2 | 4 | 8 | 16 |
---|---|---|---|---|---|
תמונה בעלת מפתח (סוג צבע 3) | 1 | 2 | 4 | 8 | |
תמונת גוני אפור (סוג צבע 0) | 1 | 2 | 4 | 8 | 16 |
תמונת גוני אפור עם אלפא (סוג צבע 4) | 16 | 32 | |||
תמונות אדום-ירוק-כחול (RGB; סוג צבע 2) | 24 | 48 | |||
תמונת אדום-ירוק-כחול עם אלפא (RGBA; סוג צבע 6) | 32 | 64 |
סוגי הצבע שפורמט PNG מסוגל לאחסן הם אלה:
עומק הסיביות יכול להיות מ-1 (סיבית אחת לפיקסל) עד 64. בתמונות עם מפתח צבעים יכול עומק הסיביות להיות 1 (צבע אחד או שניים; בדרך כלל לתמונות שחור-לבן), 2 (שלושה או ארבעה צבעים; דיאגרמות פשוטות ותמונות CGA), 4 (עד 16 צבעים) או 8 (עד 256 צבעים). בתמונת גוני אפור (סוג צבע 0) יכול עומק הסיביות להיות 1, 2, 4, 8 או 16 (האפשרות הנפוצה ביותר היא 8). בתמונת RGB יכול עומק הסיביות להיות 24 (8 סיביות לכל צבע יסוד; זוהי האפשרות הנפוצה ביותר) או 48 (16 סיביות לכל צבע יסוד). בתמונות גוני אפור עם ערוץ אלפא (סוג צבע 4) יכול עומק הסיביות להיות 16 (8 סיביות לאפור ו-8 סיביות לערוץ האלפא) או 32 (16 סיביות לאפור ו-16 סיביות לערוץ האלפא), ובתמונת RGB עם ערוץ אלפא - 32 או 64. התקן קובע שכל המקודדים צריכים לקרוא את כל הצירופים כהלכה, אך בפועל אין זה תמיד המצב, והרבה עורכי תמונות מסוגלים ליצור רק חלק קטן מהצירופים.
בתמונה עם מפתח צבעים מאוחסנים הצבעים עצמם בפורמט RGB בעומק 8 סיביות. אסור שיהיו במפתח יותר רשומות מאשר עומק הסיביות מתיר, אך מותר שיהיו פחות (למשל 90 רשומות בתמונה בעלת 90 צבעים, אף שאפשר עד 256).
פורמט PNG מאפשר הן שקיפות בינארית, כלומר צבע אחד שקוף לגמרי (כמו ב-GIF), והן שקיפות משתנה (צבעים רבים בדרגות שקיפות שונות), בכל סוגי הצבעים. השקיפות המשתנה, הקרויה גם אלפא, מצוינת בתמונה עם מפתח צבעים באמצעות גוש tRNS, ובתמונות גוני אפור ו-RGB - באמצעות ערוץ נפרד.
PNG משתמש בשיטת דחיסה ללא איבוד נתונים בשם DEFLATE, החופשית מפטנטים. בנוסף, לפני דחיסת מפת הסיביות, מקודד ה-PNG מנתח את התמונה כדי להשביח את הדחיסה, באמצעות שיטת סינון המנבאת את ערכי הפיקסלים על פי הקודמים להם. בכך דומה פורמט PNG לפורמט FLAC לדחיסת שמע ללא איבוד נתונים. השימוש בסינון מאפשר דחיסה של פיקסלים דומים גם אנכית ולא רק אופקית.
אפשר להשתמש בסירוג (interlacing) כדי לסייע לבעלי קצב הורדה איטי. הסירוג של PNG, באלגוריתם Adam7, מקודד חלקים מהתמונה, ודבר זה מאפשר ראיית תצוגה מקדימה שלה לפני ירידתה בשלמותה. הסירוג של PNG יותר מתוחכם מזה של GIF. השימוש בסירוג מגדיל את הקובץ במקצת, אך התוספת עשויה להשתלם במקרה של תמונות קריטיות (כמו תמונות המשמשות לניווט באתר אינטרנט).
יוצרי PNG קבעו שהפורמט לא יכיל הנפשה (שלא כמו GIF). הם החליטו לכלול את ההנפשה בפורמט אחר, דומה ל-PNG, בשם MNG. פורמט זה לא זוכה לשימוש רב.
מבין עורכי התמונה יש שהוסיפו תמיכה ב-PNG כלאחר-יד, כביכול, וכאלה שערוכים יותר להתמודד עם תכונות הפורמט. למשל תוכנת הצייר של חלונות XP אינה תומכת כלל בשקיפות, ומייצאת ל-PNG בפורמט RGB של 24 ביטים (סיביות) בלבד. לעומתה, GIMP תומכת בשקיפות ובייצוא של כל עומקי הסיביות פרט לאלה המשתמשים ב-16 סיביות לדגימה (למשל RGB ב-48 סיביות לפיקסל). חלק מעורכי התמונה אינם מיישמים את רמת הדחיסה המיטבית לתמונות PNG, ואין בנמצא שום עורך תמונה שיודע לכתוב את כל סוגי הגושים (כמו iTXt - נכון לשנת 2006, הדרך היחידה לכתוב גוש iTXt היא באמצעות תוכנת שורת הפקודה pngcrush).
למרות מטרתה הראשונית של PNG, לספק פורמט תמונה חופשי, עדיין משמש פורמט GIF יותר, מהסיבות הבאות:
עם זאת בשנים האחרונות ניכרת עליה משמעותית בשימוש בפורמט PNG, בעיקר הודות לתמיכה בשקיפות אשר מאפשרת הפרדה בין הצגת האובייקט (באמצעות קוד HTML) לבין הרקע (באמצעות עיצוב CSS). מגמה זו מורגשת גם בביקוש לתמונות מסוג זה. למשל הופעה של מאגרי תמונות חינמיים המרכזים תמונות בעלות רקע לבן או שקוף.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.