Відкритий код .NET API для зображень

Бібліотека .NET для читання метаданих із зображень

MetadataExtractor — це простий API .NET для вилучення метаданих із зображень. Використовуючи API, ви можете отримувати широкий діапазон метаданих, включаючи Exif, IPTC, XMP, JFIF/JFXX, профілі ICC, властивості WebP, властивості Netpbm, властивості PNG, властивості BMP, властивості GIF, властивості ICO та властивості PCX.

API підтримує різні формати файлів зображень і необроблені зображення камери, а також дозволяє отримувати дані про виробника камери для широкого діапазону виробників камер.

Previous Next

Початок роботи з MetadataExtractor

Рекомендований спосіб встановлення MetadataExtractor — через NuGet. Щоб установити MetadataExtractor, використовуйте наступну команду.

Install-Package MetadataExtractor

Читання та записування метаданих зображень через .NET

API MetadataExtractor дозволяє розробникам програмного забезпечення отримувати доступ до зображень і завантажувати їх у свої програми .NET. API допомагає розробникам автоматично визначати тип файлу, який вони обробляють, починаючи з перших байтів файлу. Як правило, клас ImageMetadataReader можна використовувати для читання метаданих файлу зображення. Якщо ви знаєте тип файлу, з якого ви читаєте, також доступні більш спеціальні програми для читання, наприклад JpegMetadataReader. Але завжди рекомендується використовувати ImageMetadataReader, оскільки це безпечніше.

Читання метаданих зображень через C#.NET


    Metadata metadata = ImageMetadataReader.readMetadata(file);
    for (Directory directory : metadata.getDirectories()) {
        for (Tag tag : directory.getTags()) {
            System.out.format("[%s] - %s = %s",
                directory.getName(), tag.getTagName(), tag.getDescription());
        }
        if (directory.hasErrors()) {
            for (String error : directory.getErrors()) {
                System.err.format("ERROR: %s", error);
            }
        }
    }

Вилучення метаданих із зображень за допомогою C#

MetadataExtractor дозволяє витягувати широкий діапазон метаданих із зображень. Ви можете витягнути всю інформацію в зображенні, прокрутивши каталоги, а потім прокрутивши кожен тег у ньому. Каталог містить інформацію про тип метаданих, а тег містить властивості. Ви можете отримати певну інформацію із зображень за допомогою методу directories.OfType().FirstOrDefault().

Декодований опис конкретного тегу за допомогою C#


    Metadata metadata = ImageMetadataReader.readMetadata(file);
    for (Directory directory : metadata.getDirectories()) {
        for (Tag tag : directory.getTags()) {
            System.out.format("[%s] - %s = %s",
                directory.getName(), tag.getTagName(), tag.getDescription());
        }
        if (directory.hasErrors()) {
            for (String error : directory.getErrors()) {
                System.err.format("ERROR: %s", error);
            }
        }
    }

Видобуток приміток Camera Specific Maker за допомогою C#

API обробки зображень із відкритим вихідним кодом MetadataExtractor дозволяє видобувати примітку про виробника камер Canon, Apple, Agfa, Casio, DJI, Epson, Fujifilm, Kodak, Kyocera, Leica, Minolta, Nikon, Olympus, Panasonic, Pentax, Reconyx, Sanyo, Sigma/Foveon і Sony.

 Українська