1. Home
  2.   Heic
  3.   FileFormat.HEIC para .NET
FileFormat.HEIC para .NET

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.

Previous Next

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 WriteableBitmapcom 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 Bitmapcom 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 WriteableBitmapcom 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 JpegBitmapEncoderpara 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 WriteableBitmapcom 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 PngBitmapEncoderpara 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

 Português