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

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

החדשות הטובות הן שרוב השיטות של Android לעריכת מפות סיביות (bitmap) תומכות בפורמט התמונה 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 זמין במקורות המידע הבאים: