עריכת תמונות Ultra HDR

פורמט התמונות Ultra HDR מקודד מידע על בהירות שמאפשר למכשירים להציג תמונות בהירות יותר עם צבעים עזים יותר. כשעורכים תמונה באיכות Ultra HDR באפליקציה, חשוב לשמור את פרטי הלומיניזציה. חשוב לעשות זאת גם אם המכשיר של המשתמש לא תומך בהצגת תמונה באיכות Ultra HDR בעוצמה מלאה. אחרי הכל, יכול להיות שהמשתמש ישתף את התמונה שלו עם מישהו שיש לו מכשיר שתומך ב-Ultra HDR, או שהוא ישמור את התמונה הזו ויסתכל עליה שוב במכשיר חדש כמה שנים מאוחר יותר.

החדשות הטובות הן שרוב השיטות לעיבוד קובצי bitmap ב-Android תומכות בפורמט התמונות Ultra HDR. אם אתם מבצעים עריכות בסיסיות בתמונה, כמו חיתוך או סיבוב, השיטות הסטנדרטיות של Android יעזרו לכם – התוצאה תהיה תמונה באיכות Ultra HDR עם המאפיינים החדשים (הכיוון או המימדים).

אם משנים את תוכן התמונה, המשימה מורכבת יותר. במקרים כאלה, שיטות העריכה הסטנדרטיות שומרות את פרטי הלומיניזציה של התמונה הקודמת, ויכול להיות שזה לא מה שאתם רוצים. במקרים כאלה, יכול להיות שתצטרכו לערוך או להסיר את מפת הרווח (שמקודדת את פרטי הלומינוזיטיביות של התמונה) כדי לקבל את התוצאה הרצויה.

סקירה כללית על הפורמט Ultra HDR

פורמט התמונות Ultra HDR מתואר בפירוט במפרט של תמונות Ultra HDR. הדבר החשוב ביותר להבין הוא שתמונה באיכות Ultra HDR מכילה גם תמונה ראשית וגם מפת רווח.

  • בתמונה הראשית מופיעים פרטי הצבע של כל פיקסל בתמונה.
  • מפת הרווח היא תמונה רגילה בפורמט JPEG באותו יחס גובה-רוחב כמו התמונה הראשית, אבל לא בהכרח באותו גודל פיקסלים. כל פיקסל במפת הרווח מציין את הבהירות של החלק התואם בתמונה הראשית.

מפת הרווח יכולה להיות בגווני אפור או בצבע. אם מפת הרווח היא צבעונית, כל ערוץ צבע במפת הרווח מציין את הלחות של ערוץ הצבע הזה בחלק התואם בתמונה הראשית. אם מפת הרווח היא בגווני אפור, כל פיקסל במפת הרווח מציין את הלחות של כל שלושת ערוצי הצבע בחלק הזה של התמונה הראשית.

למפת הרווח צריכים להיות אותם יחסי גובה-רוחב כמו של התמונה הראשית, אבל לא חייבים להיות לה אותם ממדי פיקסלים. למעשה, כשפלטפורמת Android יוצרת תמונות Ultra HDR, היא יוצרת מפת רווח עם רוחב וגובה קטנים יותר מאשר התמונה הראשית. כך גודל הקובץ קטן באופן משמעותי, אבל עדיין מקודד מספיק מידע כדי לקבל תוצאה טובה. כלומר, כל פיקסל במפת הרווח עשוי לאחסן את פרטי הלחות של כמה פיקסלים בתמונה הראשית.

עריכות בסיסיות של Ultra HDR

אם משתמשים בממשקי ה-API של Android‏ Bitmap כדי לבצע טרנספורמציות בסיסיות לתמונה באיכות Ultra HDR, השיטות מבצעות את השינויים המתאימים במפת הרווח. יש תמיכה בפעולות Bitmap הבאות:

  • סיבוב: אם מסובבים תמונה באיכות Ultra HDR, השיטה מסובבת גם את מפת הרווח.
  • חיתוך: אם תקצצו תמונה בפורמט Ultra HDR, השיטה תקצץ את מפת הרווח בהתאם.
  • שינוי קנה מידה: אם משנים את קנה המידה של תמונה בפורמט Ultra HDR, השיטה משנה את קנה המידה של מפת הרווח כך שתהיה לה מחצית מהרוחב ומחצית מהגובה של התמונה הראשית ששיניתם את הגודל שלה.

בכל מקרה, פרטי הלומינסיה נשמרים.

עריכות מתקדמות ב-Ultra HDR

אם מבצעים עריכות מורכבות יותר בתמונה באיכות Ultra HDR, מפת הרווח נשמרת ללא שינוי, ויכול להיות שהתוצאות לא יהיו כפי שציפיתם.

בין השינויים הנפוצים שעשויים להוביל למצב הזה:

  • הוספת סטיקרים או אמוג'י: לסטיקר שהוספתם יהיו אותם ערכי בהירות ועוצמת צבע כמו לאזור שבו הדבקתם אותו.
  • הוספת שכבת-על של תמונה שנייה: בתמונה החדשה יילקח בחשבון המידע על הבהירות ועל עוצמת הצבע של התוכן שאליו מתווספת שכבת-העל.
  • הוספת מסננים: יכול להיות שהמידע של מפת הרווח הישנה לא מתאים לתמונה הראשית ששונתה.

בכל מקרה, המידע הישן לגבי הבהירות ועוצמת הצבע נשמר, אבל יכול להיות שהוא לא מתאים לתמונה ששונתה.

אם מפת הרווח המקורית מתאימה לתמונה הערוכה, לא צריך לעשות כלום. אם כן רוצים לשנות את מפת הרווח, תהליך העבודה הרגיל הוא:

  1. אחזור של מפת הרווח הנוכחית של התמונה באמצעות קריאה ל-Bitmap.getGainmap() ושמירתה במטמון.
  2. משנים את התמונה הראשית לפי הצורך.
  3. עורכים את המפה המאוחסנת במטמון בהתאם. לדוגמה, אם הדבקתם אמוג'י בתמונה הראשית, תוכלו להגדיר את החלק המתאים במפת הרווחים לערך נייטרלי, כמו Color.GRAY.

  4. מחילים את מפת הרווח ששונתה חזרה על התמונה באמצעות הקריאה Bitmap.setGainmap().

מקורות מידע נוספים

מידע נוסף על תמונות Ultra HDR זמין במקורות המידע הבאים: