FileFormat.HEIC para .NET
Simplifique o processo de leitura e conversão de imagens HEIC usando a API .NET
Edite imagens com facilidade com FileFormat.HEIC, uma API .NET leve e de código aberto, que simplifica a conversão e a automação de arquivos HEIC.
FileFormat.HEIC for .NET revoluciona sua experiência de processamento de imagens HEIC. Neste guia abrangente, investigamos as funcionalidades e os benefícios de aproveitar o FileFormat.HEIC, uma API .NET leve e de código aberto, para lidar com arquivos HEIC sem esforço e com facilidade.
HEIC, abreviação de High Efficiency Image File Format with HEVC (High Efficiency Video Coding), é um formato de imagem moderno desenvolvido para substituir o JPEG como formato de imagem padrão em dispositivos iOS. Embora o HEIC ofereça qualidade e compactação de imagem superiores, sua compatibilidade entre plataformas continua sendo um desafio. Muitos aplicativos e plataformas não possuem suporte nativo para HEIC, dificultando a visualização ou edição desses arquivos sem conversão.
FileFormat.HEIC surge como uma solução poderosa para converter facilmente arquivos HEIC para vários formatos, incluindo JPG, PNG, PDF e muito mais. Essa API .NET leve e de código aberto simplifica as operações de imagem HEIC, oferecendo aos desenvolvedores e usuários uma interface amigável para lidar com arquivos HEIC sem esforço.
FileFormat.HEIC está disponível sob a Licença Openize.< /p>
Principais recursos e benefícios- Conversão sem esforço: converta arquivos HEIC em formatos populares como JPG e PNG com algumas linhas de código.
- Integração do decodificador HEVC: Utilize o decodificador HEVC integrado para decodificar arquivos HEIC, garantindo uma conversão precisa e confiável.
- Extenso suporte a formatos: Converta arquivos HEIC em uma ampla variedade de formatos, incluindo PDF e WEBP, permitindo uso versátil em diferentes plataformas e aplicativos.
- Código aberto e gratuito: Aproveite os benefícios de uma solução de código aberto sem taxas de licenciamento, tornando-a acessível a desenvolvedores e usuários de todos os níveis.
- Integração perfeita com aplicativos C#: integre FileFormat.HEIC facilmente em seus aplicativos C#, permitindo o manuseio perfeito de arquivos HEIC em seus fluxos de trabalho existentes.
- Conversão sem esforço: converta arquivos HEIC em formatos populares como JPG e PNG com algumas linhas de código.
- Integração do decodificador HEVC: Utilize o decodificador HEVC integrado para decodificar arquivos HEIC, garantindo uma conversão precisa e confiável.
- Extenso suporte a formatos: Converta arquivos HEIC em uma ampla variedade de formatos, incluindo PDF e WEBP, permitindo uso versátil em diferentes plataformas e aplicativos.
- Código aberto e gratuito: Aproveite os benefícios de uma solução de código aberto sem taxas de licenciamento, tornando-a acessível a desenvolvedores e usuários de todos os níveis.
- Integração perfeita com aplicativos C#: integre FileFormat.HEIC facilmente em seus aplicativos C#, permitindo o manuseio perfeito de arquivos HEIC em seus fluxos de trabalho existentes.
Como começar a usar FileFormat.HEIC para .NET
Começar a usar FileFormat.HEIC é rápido e fácil. Basta seguir estas etapas:
- Instalar FileFormat.HEIC: instale o pacote FileFormat.HEIC por meio do NuGet Package Manager ou .NET CLI.
- Integre-se ao seu projeto: faça referência à biblioteca FileFormat.HEIC no seu projeto C#.
- Comece a converter: Utilize a API simples fornecida pelo FileFormat.HEIC para converter arquivos HEIC para o formato desejado.
A maneira recomendada de instalar o FileFormat.HEIC para .NET é usando o NuGet. Use o seguinte comando para uma instalação tranquila.
Instale FileFormat.HEIC para .NET via NuGet
NuGet> Install-Package FileFormat.HEIC
Você também pode baixá-lo diretamente do GitHub.Ler arquivo HEIC em array em C#
Esse snippet de código carrega com eficiência um arquivo de imagem HEIC, extrai seus dados de pixel no formato especificado e os armazena em uma matriz para operações subsequentes.
- Abra o arquivo HEIC chamado "filename.heic" usando
FileStream
. - Carregue a imagem HEIC do fluxo de arquivos em um objeto
HeicImage
. - Extraia dados de pixel da imagem HEIC no formato ARGB32 e armazene-os em uma matriz de números inteiros.
Copie e cole o trecho de código abaixo em seu arquivo principal e execute o programa.
Leia o arquivo .heic para o array int com dados Argb32
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
HeicImage image = HeicImage.Load(fs);
int[] pixels = image.GetInt32Array(Heic.Decoder.PixelFormat.Argb32);
}
Leia o arquivo HEIC em WriteableBitmap em C#
O código a seguir ilustra como abrir um arquivo de imagem HEIC existente, extrair seus dados de pixel e criar um objeto WriteableBitmap para processamento adicional:
- Abra o arquivo HEIC chamado "filename.heic" usando
FileStream
. - Carregue a imagem HEIC do fluxo de arquivos em um objeto
HeicImage
. - Extraia dados de pixel da imagem HEIC no formato BGRA32 e armazene-os em uma matriz.
- Obtenha a largura e a altura da imagem HEIC.
- Crie um objeto
WriteableBitmap
com largura, altura e formato de pixel especificados. - Defina um retângulo cobrindo toda a área do bitmap.
- Grave os dados de pixel extraídos no objeto
WriteableBitmap
.
Copie e cole o trecho de código abaixo em seu arquivo principal e execute o programa.
Leia o arquivo .heic em 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);
}
Leia o arquivo HEIC em Bitmap em C#
O código a seguir ilustra como abrir um arquivo de imagem HEIC existente, extrair seus dados de pixel e criar um objeto Bitmap para processamento adicional:
- Abra o arquivo HEIC chamado "filename.heic" usando
FileStream
. - Carregue a imagem HEIC do fluxo de arquivos em um objeto
HeicImage
. - Extraia os dados de pixel da imagem HEIC no formato ARGB32, armazenando-os em uma matriz int.
- Obtenha a largura e a altura da imagem HEIC.
- Crie um objeto
Bitmap
com largura e altura especificadas. - Defina dados de pixel para cada pixel do
Bitmap
.
Copie e cole o trecho de código abaixo em seu arquivo principal e execute o programa.
Leia o arquivo .heic em 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++]));
}
Converter HEIC em JPG programaticamente em C#
O código fornecido demonstra como carregar programaticamente um arquivo de imagem HEIC, convertê-lo em uma imagem JPEG e salvá-lo como "output.jpg" usando C#. Aqui está um detalhamento das etapas:
- Abra o arquivo HEIC chamado "filename.heic" em modo de leitura usando
FileStream
. - Carregue a imagem HEIC do fluxo de arquivos em um objeto
HeicImage
. - Extraia os dados de pixel da imagem HEIC no formato BGRA32, armazenando-os em uma matriz de bytes.
- Recupere a largura e a altura da imagem HEIC.
- Crie um objeto
WriteableBitmap
com largura, altura, DPI, formato de pixel e paleta especificados. - Defina um retângulo cobrindo toda a área do bitmap.
- Grave os dados de pixel extraídos no objeto
WriteableBitmap
. - Crie ou abra um fluxo de arquivo para salvar a imagem convertida como "output.jpg".
- Crie um objeto
JpegBitmapEncoder
para codificar o bitmap como uma imagem JPEG. - Adicione o quadro de bitmap ao codificador.
- Salve a imagem codificada no fluxo de arquivos.
Copie e cole o trecho de código abaixo em seu arquivo principal e execute o programa.
Converter arquivo .heic em .jpg usando 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);
}
Converta a coleção HEIC em um conjunto de arquivos PNG programaticamente em C#
O código fornecido demonstra como carregar programaticamente um arquivo de imagem de coleção HEIC, convertê-lo em um conjunto de arquivos PNG e salvá-lo usando C#. Aqui está um detalhamento das etapas:
- Abra o arquivo HEIC chamado "filename.heic" em modo de leitura usando
FileStream
. - Carregue a imagem HEIC do fluxo de arquivos em um objeto
HeicImage
. - Para cada quadro da imagem faça o seguinte:
- Extraia os dados de pixel da imagem HEIC no formato BGRA32, armazenando-os em uma matriz de bytes.
- Recupere a largura e a altura da imagem HEIC.
- Crie um objeto
WriteableBitmap
com largura, altura, DPI, formato de pixel e paleta especificados. - Defina um retângulo cobrindo toda a área do bitmap.
- Grave os dados de pixel extraídos no objeto
WriteableBitmap
. - Crie ou abra um fluxo de arquivo para salvar a imagem convertida como "output.png".
- Crie um objeto
PngBitmapEncoder
para codificar o bitmap como uma imagem PNG. - Adicione o quadro de bitmap ao codificador.
- Salve a imagem codificada no fluxo de arquivos.
Copie e cole o trecho de código abaixo em seu arquivo principal e execute o programa.
Converta a coleção .heic em um conjunto de arquivos .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 oferece uma API intuitiva, suporte abrangente a formatos e integração perfeita com aplicativos C#, capacitando desenvolvedores e usuários a gerenciar arquivos HEIC sem esforço. Esteja você convertendo arquivos HEIC para uso na Web, arquivando fotos do iPhone em um PC ou compartilhando-as em diferentes plataformas, o FileFormat.HEIC simplifica o processo, garantindo eficiência e qualidade ideais em cada etapa.
Explore nosso repositório GitHub para contribuir, sugerir melhorias e aprimorar esta API de código aberto: FileFormat.HEIC -para-.NET