HEIC (High-Efficiency Image Container) הוא מיכל שיכול להכיל תמונות HEIF בפורמט תמונה ביעילות גבוהה. XMP הוא תקן מטא נתונים מבוסס XML, שיכול לאחסן מאפייני מטא נתונים כצמדי שם/ערך. עם זאת, EXIF (פורמט קובץ תמונה ניתן להחלפה) הוא הסטנדרט ומגדיר כיצד לאחסן מאפייני מטא נתונים בתמונות ובפורמטי האודיו הנפוצים ביותר. במאמר זה, נלמד כיצד לחלץ, לעדכן ולהסיר את המטא נתונים של XMP ו-EXIP של תמונות HEIF/HEIC באמצעות C# בתוך יישומי NET.

הנושאים הבאים מכוסים להלן:

NET API עבור XMP ו-EXIF Metadata

GroupDocs.Metadata מספק .NET API לאוטומטי של ניהול מטא נתונים בתוך יישומי NET. ה-API מאפשר לקרוא, לעדכן, להוסיף, לנקות/להסיר ולעבור את המטא נתונים עבור פורמטים רבים של קבצים. תקני מטא נתונים שונים כמו EXIF, IPTC ו-XMP נתמכים על ידי ה-API. אתה יכול גם לבקר בתיעוד לקבלת הרשימה המלאה של פורמטים נתמכים של קבצים למניפולציה של מטא נתונים.

אתה יכול להוריד את קובצי ה-DLL או ה-MSI מתקין מסעיף ההורדות או להתקין את ה-API באפליקציית NET שלך דרך NuGet.

PM> Install-Package GroupDocs.Metadata

קרא נתוני EXIF של תמונות HEIC / HEIF ב-C#

להלן השלבים לקריאה וחילוץ של נתוני EXIF של תמונות HEIC ו-HEIF.

  • טען את תמונת HEIF או HEIC באמצעות המחלקה Metadata.
  • קבל את חבילת השורש.
  • אחזר את חבילת EXIF מחבילת השורש.
  • חצו את מאפייני הנתונים של EXIF.
  • יתר על כן, אתה יכול לקבל את IFD (מדריך קבצי תמונה) ומידע GPS מחבילת EXIF.

הקוד הבא מראה כיצד לקבל מידע על נתוני EXIF, IFD ו-GPS של תמונת HEIC באמצעות C#.

// קרא EXIF, EXIF IFD, EXIF GPS חבילת תמונות HEIF / HEIC ב-C#
using (Metadata metadata = new Metadata(@"image.heic"))
{
    IExif root = metadata.GetRootPackage() as IExif;
    if (root != null && root.ExifPackage != null)
    {
        const string pattern = "{0} = {1}";

        foreach (TiffTag tag in root.ExifPackage.ToList())
        {
            Console.WriteLine(pattern, tag.TagID, tag.Value);
        }

        foreach (TiffTag tag in root.ExifPackage.ExifIfdPackage.ToList())
        {
            Console.WriteLine(pattern, tag.TagID, tag.Value);
        }

        foreach (TiffTag tag in root.ExifPackage.GpsPackage.ToList())
        {
            Console.WriteLine(pattern, tag.TagID, tag.Value);
        }
    }
}

קרא נתוני XMP של תמונות HEIC / HEIF ב-C#

השלבים הבאים קוראים מטא נתונים של XMP של תמונות HEIC או HEIF.

  • טען את תמונת HEIF או HEIC באמצעות המחלקה Metadata.
  • קבל את חבילת השורש בשיטת getRootPackage.
  • מחבילת השורש, אתה יכול לקבל את המידע הבסיסי של XMP.
  • בנוסף, אתה יכול לקבל את המידע של DCMI Dublin Core.
  • בנוסף, אתה יכול לקבל מידע על Photoshop בשיטת getPhotoshop.

קוד המקור הבא מראה כיצד לקבל מידע XMP basic, DCMI ו-Photoshop ב-C#.

// חלץ נתוני XMP Basic, DublinCore ו-Photoshop של תמונות HEIC ו-HEIF ב-C#
using (Metadata metadata = new Metadata(@"xmp.heic"))
{
    IXmp root = metadata.GetRootPackage() as IXmp;
    if (root != null && root.XmpPackage != null)
    {
        if (root.XmpPackage.Schemes.XmpBasic != null)
        {
            Console.WriteLine(root.XmpPackage.Schemes.XmpBasic.CreatorTool);
            Console.WriteLine(root.XmpPackage.Schemes.XmpBasic.CreateDate);
            Console.WriteLine(root.XmpPackage.Schemes.XmpBasic.ModifyDate);
            Console.WriteLine(root.XmpPackage.Schemes.XmpBasic.Label);
            Console.WriteLine(root.XmpPackage.Schemes.XmpBasic.Nickname);
            // ...
        }
        if (root.XmpPackage.Schemes.DublinCore != null)
        {
            Console.WriteLine(root.XmpPackage.Schemes.DublinCore.Format);
            Console.WriteLine(root.XmpPackage.Schemes.DublinCore.Coverage);
            Console.WriteLine(root.XmpPackage.Schemes.DublinCore.Identifier);
            Console.WriteLine(root.XmpPackage.Schemes.DublinCore.Source);
            // ...
        }
        if (root.XmpPackage.Schemes.Photoshop != null)
        {
            Console.WriteLine(root.XmpPackage.Schemes.Photoshop.ColorMode);
            Console.WriteLine(root.XmpPackage.Schemes.Photoshop.IccProfile);
            Console.WriteLine(root.XmpPackage.Schemes.Photoshop.Country);
            Console.WriteLine(root.XmpPackage.Schemes.Photoshop.City);
            Console.WriteLine(root.XmpPackage.Schemes.Photoshop.DateCreated);
            // ... 
        }
        // ...
    }
}

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

הסר מטא נתונים של EXIF ו-XMP של תמונות HEIC/HEIF ב-C#

אתה יכול פשוט להגדיר את חבילת EXIF או XMP בהתאמה ל- null כדי להסיר את כל מאפייני המטא נתונים.

הקוד הבא מסיר את נתוני ה-EXIF של תמונות HEIC ב-C#.

using (Metadata metadata = new Metadata("image.heic"))
{
	IExif root = metadata.GetRootPackage() as IExif;
	if (root != null)
	{
		root.ExifPackage = null;
		metadata.Save("no-exif-image.heic");
	}
}

הקוד הבא מסיר את נתוני ה-XMP של תמונות HEIC ב-C#.

using (Metadata metadata = new Metadata("image.heic"))
{
	IXmp root = metadata.GetRootPackage() as IXmp;
	if (root != null)
	{
		root.XmpPackage = null;
		metadata.Save("no-xmp-image.heic");
	}
}

קבל רישיון API בחינם

אתה יכול לקבל רישיון זמני בחינם על מנת להשתמש ב-API ללא מגבלות ההערכה.

סיכום

לסיכום, למדנו לחלץ, לעדכן, להסיר מטא נתונים של EXIF ו-XMP מתמונות HEIF/HEIC ב-C#. יתר על כן, ראית כיצד לקבל מידע IFD ו-GPS מתמונות אלה. עכשיו אתה יכול בקלות לקבל מידע זה וגם להתחיל לבנות יישומים משלך כמו GroupDocs.Metadata App Product Family כדי להפוך מידע מטא נתונים לאוטומטי.

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

ראה גם