1. Home
  2.   Heic
  3.   Формат файла.HEIC для .NET
FileFormat.HEIC для .NET

Формат файла.HEIC для .NET

 
 

Упрощение процесса чтения и конвертации изображений HEIC с использованием API .NET

Легко редактируйте изображения с помощью FileFormat.HEIC, легкого API .NET с открытым исходным кодом, упрощая конвертацию и автоматизацию файлов HEIC.

FileFormat.HEIC для .NET революционизирует ваши возможности обработки изображений HEIC. В этом подробном руководстве мы подробно рассмотрим функциональные возможности и преимущества использования FileFormat.HEIC, легкого .NET API с открытым исходным кодом, позволяющего легко и просто обрабатывать файлы HEIC.

HEIC, сокращение от High Efficiency Image File Format с изображениями, закодированными HEVC (High Efficiency Video Coding), — это современный формат изображений, разработанный для замены JPEG в качестве формата изображения по умолчанию на устройствах iOS. Хотя HEIC предлагает превосходное качество изображения и сжатие, его совместимость на разных платформах остается проблемой. Во многих приложениях и платформах отсутствует встроенная поддержка HEIC, что затрудняет просмотр или редактирование этих файлов без преобразования.

FileFormat.HEIC представляет собой мощное решение для плавного преобразования файлов HEIC в различные форматы, включая JPG, PNG, PDF и другие. Этот легкий API .NET с открытым исходным кодом упрощает операции с изображениями HEIC, предлагая разработчикам и пользователям удобный интерфейс для легкой обработки файлов HEIC.

FileFormat.HEIC доступен по открытой лицензии.< /п>

Основные особенности и преимущества

  • Простое преобразование. Конвертируйте файлы HEIC в популярные форматы, такие как JPG и PNG, с помощью нескольких строк кода.
  • Интеграция декодера HEVC. Используйте встроенный декодер HEVC для декодирования файлов HEIC, гарантируя точное и надежное преобразование.
  • Расширенная поддержка форматов. Конвертируйте файлы HEIC в широкий спектр форматов, включая PDF и WEBP, что обеспечивает универсальное использование на различных платформах и в приложениях.
  • Открытый исходный код и бесплатно. Воспользуйтесь преимуществами решения с открытым исходным кодом без лицензионных сборов, что делает его доступным для разработчиков и пользователей всех уровней.
  • Бесшовная интеграция с приложениями C#. Легко интегрируйте FileFormat.HEIC в ваши приложения C#, обеспечивая беспрепятственную обработку файлов HEIC в существующих рабочих процессах.

Previous Next

Как начать работу с FileFormat.HEIC для .NET

Начать работу с FileFormat.HEIC можно быстро и легко. Просто выполните следующие действия:

  • Установить FileFormat.HEIC: установите пакет FileFormat.HEIC через диспетчер пакетов NuGet или .NET CLI.
  • Интеграция с вашим проектом: используйте библиотеку FileFormat.HEIC в своем проекте C#.
  • Начать преобразование. Используйте простой API, предоставляемый FileFormat.HEIC, для преобразования файлов HEIC в нужный формат.

Рекомендуемый способ установки FileFormat.HEIC для .NET — использование NuGet. Пожалуйста, используйте следующую команду для беспрепятственной установки.

Установите FileFormat.HEIC для .NET через NuGet

NuGet> Install-Package FileFormat.HEIC 
Вы также можете загрузить его непосредственно с GitHub.

Чтение файла HEIC в массив на C#

Этот фрагмент кода эффективно загружает файл изображения HEIC, извлекает его пиксельные данные в указанном формате и сохраняет их в массиве для последующих операций.

  • Откройте файл HEIC с именем «filename.heic», используя FileStream.
  • Загрузите изображение HEIC из файлового потока в объект HeicImage.
  • Извлеките данные пикселей из изображения HEIC в формате ARGB32 и сохраните их в целочисленном массиве.

Скопируйте и вставьте приведенный ниже фрагмент кода в основной файл и запустите программу.

Чтение файла .heic в массив int с данными Argb32

 
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
    HeicImage image = HeicImage.Load(fs);
    int[] pixels = image.GetInt32Array(Heic.Decoder.PixelFormat.Argb32);
}

Чтение файла HEIC в WriteableBitmap на C#

Следующий код показывает, как открыть существующий файл изображения HEIC, извлечь его пиксельные данные и создать объект WriteableBitmap для дальнейшей обработки:

  • Откройте файл HEIC с именем «filename.heic», используя FileStream.
  • Загрузите изображение HEIC из файлового потока в объект HeicImage.
  • Извлеките данные пикселей из изображения HEIC в формате BGRA32 и сохраните их в массиве.
  • Получите ширину и высоту изображения HEIC.
  • Создайте объект WriteableBitmapс указанной шириной, высотой и форматом пикселей.
  • Определите прямоугольник, охватывающий всю область растрового изображения.
  • Запишите извлеченные данные пикселей в объект WriteableBitmap.

Скопируйте и вставьте приведенный ниже фрагмент кода в основной файл и запустите программу.

Читать файл .heic в System.Windows.Media.Imaging.WriteableBitmap

 
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
    HeicImage image = HeicImage.Load(fs);
    
    var pixels = image.GetByteArray(Heic.Decoder.PixelFormat.Bgra32);
    var width = (int)image.Width;
    var height = (int)image.Height;
    
    WriteableBitmap wbitmap = new WriteableBitmap(width, height, 72, 72, PixelFormats.Bgra32, null);
    Int32Rect rect = new Int32Rect(0, 0, width, height);
    wbitmap.WritePixels(rect, pixels, 4 * width, 0);
}

Чтение файла HEIC в растровое изображение на C#

Следующий код показывает, как открыть существующий файл изображения HEIC, извлечь его пиксельные данные и создать растровый объект для дальнейшей обработки:

  • Откройте файл HEIC с именем «filename.heic», используя FileStream.
  • Загрузите изображение HEIC из файлового потока в объект HeicImage.
  • Извлеките данные пикселей из изображения HEIC в формате ARGB32 и сохраните их в массиве int.
  • Получите ширину и высоту изображения HEIC.
  • Создайте объект Bitmapс указанной шириной и высотой.
  • Задайте данные пикселей для каждого пикселя растрового изображения.

Скопируйте и вставьте приведенный ниже фрагмент кода в основной файл и запустите программу.

Читать файл .heic в System.Drawing.Common.Bitmap

 
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
    HeicImage image = HeicImage.Load(fs);
    
    var pixels = image.GetInt32Array(Heic.Decoder.PixelFormat.Argb32);
    var width = (int)image.Width;
    var height = (int)image.Height;
    var i = 0;

    Bitmap myBitmap = new Bitmap(width, height);
    for (int y = 0; y < height; y++)
        for (int x = 0; x < width; x++)
            myBitmap.SetPixel(x, y, Color.FromArgb(pixels[i++]));
}

Программное преобразование HEIC в JPG на C#

Приведенный код демонстрирует, как программно загрузить файл изображения HEIC, преобразовать его в изображение JPEG и сохранить как «output.jpg» с помощью C#. Вот разбивка шагов:

  • Откройте файл HEIC с именем «filename.heic» в режиме чтения с помощью FileStream.
  • Загрузите изображение HEIC из файлового потока в объект HeicImage.
  • Извлеките данные пикселей из изображения HEIC в формате BGRA32 и сохраните их в массиве байтов.
  • Получить ширину и высоту изображения HEIC.
  • Создайте объект WriteableBitmapс указанной шириной, высотой, разрешением, форматом пикселей и палитрой.
  • Определите прямоугольник, охватывающий всю область растрового изображения.
  • Запишите извлеченные данные пикселей в объект WriteableBitmap.
  • Создайте или откройте поток файлов для сохранения преобразованного изображения как «output.jpg».
  • Создайте объект JpegBitmapEncoderдля кодирования растрового изображения в изображение JPEG.
  • Добавьте растровый кадр в кодировщик.
  • Сохраните закодированное изображение в потоке файлов.

Скопируйте и вставьте приведенный ниже фрагмент кода в основной файл и запустите программу.

Преобразуйте файл .heic в .jpg с помощью WriteableBitmap

 
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
    HeicImage image = HeicImage.Load(fs);
    
    var pixels = image.GetByteArray(Heic.Decoder.PixelFormat.Bgra32);
    var width = (int)image.Width;
    var height = (int)image.Height;
    
    var wbitmap = new WriteableBitmap(width, height, 72, 72, PixelFormats.Bgra32, null);
    var rect = new Int32Rect(0, 0, width, height);
    wbitmap.WritePixels(rect, pixels, 4 * width, 0);
    
    using FileStream saveStream = new FileStream("output.jpg", FileMode.OpenOrCreate);
    JpegBitmapEncoder encoder = new JpegBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(wbitmap));
    encoder.Save(saveStream);
}

Программное преобразование коллекции HEIC в набор файлов PNG на C#

Приведенный код демонстрирует, как программно загрузить файл изображения коллекции HEIC, преобразовать его в набор файлов PNG и сохранить с помощью C#. Вот разбивка шагов:

  • Откройте файл HEIC с именем «filename.heic» в режиме чтения с помощью FileStream.
  • Загрузите изображение HEIC из файлового потока в объект HeicImage.
  • Для каждого кадра изображения выполните следующие действия:
    • Извлеките данные пикселей из изображения HEIC в формате BGRA32 и сохраните их в массиве байтов.
    • Получить ширину и высоту изображения HEIC.
    • Создайте объект WriteableBitmapс указанной шириной, высотой, разрешением, форматом пикселей и палитрой.
    • Определите прямоугольник, охватывающий всю область растрового изображения.
    • Запишите извлеченные данные пикселей в объект WriteableBitmap.
    • Создайте или откройте поток файлов для сохранения преобразованного изображения как «output.png».
    • Создайте объект PngBitmapEncoderдля кодирования растрового изображения в изображение PNG.
    • Добавьте растровый кадр в кодировщик.
    • Сохраните закодированное изображение в потоке файлов.

Скопируйте и вставьте приведенный ниже фрагмент кода в основной файл и запустите программу.

Преобразовать коллекцию .heic в набор файлов .png

 
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
    HeicImage image = HeicImage.Load(fs);

    foreach (var key in image.Frames.Keys)
    {
        var width = (int)image.Frames[key].Width;
        var height = (int)image.Frames[key].Height;
        var pixels = image.Frames[key].GetByteArray(FileFormat.Heic.Decoder.PixelFormat.Bgra32);

        var wbitmap = new WriteableBitmap(width, height, 72, 72, PixelFormats.Bgra32, null);
        var rect = new Int32Rect(0, 0, width, height);
        wbitmap.WritePixels(rect, pixels, 4 * width, 0);

        using FileStream saveStream = new FileStream("output"+key+".png", FileMode.OpenOrCreate);
        PngBitmapEncoder encoder = new PngBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(wbitmap));
        encoder.Save(saveStream);
    }
}

FileFormat.HEIC предлагает интуитивно понятный API, комплексную поддержку форматов и полную интеграцию с приложениями C#, что позволяет разработчикам и пользователям легко управлять файлами HEIC. Конвертируете ли вы файлы HEIC для использования в Интернете, архивируете фотографии с iPhone на ПК или делитесь ими на разных платформах, FileFormat.HEIC упрощает процесс, обеспечивая оптимальную эффективность и качество на каждом этапе.

Изучите наш репозиторий GitHub, чтобы внести свой вклад, предложить улучшения и улучшить этот API с открытым исходным кодом: FileFormat.HEIC -для-.NET

 Русский