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