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

FileFormat.HEIC per .NET

 
 

Semplifica il processo di lettura e conversione delle immagini HEIC utilizzando l'API .NET

Modifica facilmente le immagini con FileFormat.HEIC, un'API .NET open-source leggera che semplifica la conversione e l'automazione dei file HEIC.

FileFormat.HEIC per .NET rivoluziona la tua esperienza di elaborazione delle immagini HEIC. In questa guida completa, approfondiamo le funzionalità e i vantaggi derivanti dall'utilizzo di FileFormat.HEIC, una leggera API .NET open source, per gestire facilmente i file HEIC.

HEIC, abbreviazione di High Efficiency Image File Format with HEVC (High Efficiency Video Coding), è un formato immagine moderno sviluppato per sostituire JPEG come formato immagine predefinito sui dispositivi iOS. Sebbene HEIC offra qualità e compressione delle immagini superiori, la sua compatibilità tra piattaforme rimane una sfida. Molte applicazioni e piattaforme non dispongono del supporto nativo per HEIC, rendendo difficile visualizzare o modificare questi file senza conversione.

FileFormat.HEIC emerge come una potente soluzione per convertire senza problemi i file HEIC in vari formati, tra cui JPG, PNG, PDF e altri. Questa leggera API .NET open source semplifica le operazioni relative alle immagini HEIC, offrendo agli sviluppatori e agli utenti un'interfaccia intuitiva per gestire i file HEIC senza sforzo.

FileFormat.HEIC è disponibile sotto Licenza Openize.< /p>

Caratteristiche e vantaggi principali

  • Conversione semplice: converti file HEIC in formati popolari come JPG e PNG con poche righe di codice.
  • Integrazione del decodificatore HEVC: utilizza il decodificatore HEVC integrato per decodificare i file HEIC, garantendo una conversione accurata e affidabile.
  • Ampio supporto dei formati: converti i file HEIC in un'ampia gamma di formati, inclusi PDF e WEBP, consentendo un utilizzo versatile su diverse piattaforme e applicazioni.
  • Open Source e gratuito: goditi i vantaggi di una soluzione open source senza costi di licenza, rendendola accessibile a sviluppatori e utenti di tutti i livelli.
  • Integrazione perfetta con le applicazioni C#: integra facilmente FileFormat.HEIC nelle tue applicazioni C#, consentendo una gestione perfetta dei file HEIC all'interno dei flussi di lavoro esistenti.

Previous Next

Come iniziare con FileFormat.HEIC per .NET

Iniziare con FileFormat.HEIC è semplice e veloce. Segui semplicemente questi passaggi:

  • Installa FileFormat.HEIC: installa il pacchetto FileFormat.HEIC tramite NuGet Package Manager o .NET CLI.
  • Integrazione con il tuo progetto: fai riferimento alla libreria FileFormat.HEIC nel tuo progetto C#.
  • Avvia la conversione: utilizza la semplice API fornita da FileFormat.HEIC per convertire i file HEIC nel formato desiderato.

Il modo consigliato per installare FileFormat.HEIC per .NET è utilizzare NuGet. Utilizza il seguente comando per un'installazione fluida.

Installa FileFormat.HEIC per .NET tramite NuGet

NuGet> Install-Package FileFormat.HEIC 
Puoi anche scaricarlo direttamente da GitHub.

Leggi il file HEIC nell'array in C#

Questo snippet di codice carica in modo efficiente un file immagine HEIC, ne estrae i dati pixel nel formato specificato e li archivia in un array per le operazioni successive.

  • Apri il file HEIC denominato "nomefile.heic" utilizzando FileStream.
  • Carica l'immagine HEIC dal flusso di file in un oggetto HeicImage.
  • Estrai i dati pixel dall'immagine HEIC nel formato ARGB32 e memorizzali in un array di numeri interi.

Copia e incolla lo snippet di codice sottostante nel file principale ed esegui il programma.

Leggi il file .heic nell'array int con i dati Argb32

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

Leggi il file HEIC in WriteableBitmap in C#

Il codice seguente illustra come aprire un file immagine HEIC esistente, estrarne i dati pixel e creare un oggetto WriteableBitmap per un'ulteriore elaborazione:

  • Apri il file HEIC denominato "nomefile.heic" utilizzando FileStream.
  • Carica l'immagine HEIC dal flusso di file in un oggetto HeicImage.
  • Estrai i dati pixel dall'immagine HEIC nel formato BGRA32 e memorizzali in un array.
  • Ottieni la larghezza e l'altezza dell'immagine HEIC.
  • Crea un oggetto WriteableBitmapcon la larghezza, l'altezza e il formato pixel specificati.
  • Definisci un rettangolo che copre l'intera area bitmap.
  • Scrivi i dati pixel estratti nell'oggetto WriteableBitmap.

Copia e incolla lo snippet di codice sottostante nel file principale ed esegui il programma.

Leggi il file .heic in 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);
}

Leggi il file HEIC in Bitmap in C#

Il codice seguente illustra come aprire un file immagine HEIC esistente, estrarne i dati pixel e creare un oggetto Bitmap per un'ulteriore elaborazione:

  • Apri il file HEIC denominato "nomefile.heic" utilizzando FileStream.
  • Carica l'immagine HEIC dal flusso di file in un oggetto HeicImage.
  • Estrai i dati pixel dall'immagine HEIC nel formato ARGB32, memorizzandoli in un array int.
  • Ottieni la larghezza e l'altezza dell'immagine HEIC.
  • Crea un oggetto Bitmapcon la larghezza e l'altezza specificate.
  • Imposta i dati dei pixel per ogni pixel della Bitmap.

Copia e incolla lo snippet di codice sottostante nel file principale ed esegui il programma.

Leggi il file .heic in 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++]));
}

Converti HEIC in JPG in modo programmatico in C#

Il codice fornito dimostra come caricare a livello di codice un file di immagine HEIC, convertirlo in un'immagine JPEG e salvarlo come "output.jpg" utilizzando C#. Ecco una ripartizione dei passaggi:

  • Apri il file HEIC denominato "nomefile.heic" in modalità di lettura utilizzando FileStream.
  • Carica l'immagine HEIC dal flusso di file in un oggetto HeicImage.
  • Estrai i dati dei pixel dall'immagine HEIC nel formato BGRA32, memorizzandoli in un array di byte.
  • Recupera la larghezza e l'altezza dell'immagine HEIC.
  • Crea un oggetto WriteableBitmapcon la larghezza, l'altezza, il DPI, il formato pixel e la tavolozza specificati.
  • Definisci un rettangolo che copre l'intera area bitmap.
  • Scrivi i dati pixel estratti nell'oggetto WriteableBitmap.
  • Crea o apri un flusso di file per salvare l'immagine convertita come "output.jpg".
  • Crea un oggetto JpegBitmapEncoderper codificare la bitmap come immagine JPEG.
  • Aggiungi il frame bitmap al codificatore.
  • Salva l'immagine codificata nel flusso di file.

Copia e incolla lo snippet di codice sottostante nel file principale ed esegui il programma.

Converti il ​​file .heic in .jpg utilizzando 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);
}

Converti la raccolta HEIC in un set di file PNG in modo programmatico in C#

Il codice fornito dimostra come caricare a livello di codice un file di immagine di una raccolta HEIC, convertirlo in un set di file PNG e salvarlo utilizzando C#. Ecco una ripartizione dei passaggi:

  • Apri il file HEIC denominato "nomefile.heic" in modalità di lettura utilizzando FileStream.
  • Carica l'immagine HEIC dal flusso di file in un oggetto HeicImage.
  • Per ogni fotogramma dell'immagine procedi come segue:
    • Estrai i dati dei pixel dall'immagine HEIC nel formato BGRA32, memorizzandoli in un array di byte.
    • Recupera la larghezza e l'altezza dell'immagine HEIC.
    • Crea un oggetto WriteableBitmapcon la larghezza, l'altezza, il DPI, il formato pixel e la tavolozza specificati.
    • Definisci un rettangolo che copre l'intera area bitmap.
    • Scrivi i dati pixel estratti nell'oggetto WriteableBitmap.
    • Crea o apri un flusso di file per salvare l'immagine convertita come "output.png".
    • Crea un oggetto PngBitmapEncoderper codificare la bitmap come immagine PNG.
    • Aggiungi il frame bitmap al codificatore.
    • Salva l'immagine codificata nel flusso di file.

Copia e incolla lo snippet di codice sottostante nel file principale ed esegui il programma.

Converti la raccolta .heic in un set di file .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 offre un'API intuitiva, supporto completo dei formati e integrazione perfetta con le applicazioni C#, consentendo agli sviluppatori e agli utenti di gestire facilmente i file HEIC. Che tu stia convertendo file HEIC per l'utilizzo sul Web, archiviando foto di iPhone su un PC o condividendole su piattaforme diverse, FileFormat.HEIC semplifica il processo, garantendo efficienza e qualità ottimali in ogni passaggio.

Esplora il nostro repository GitHub per contribuire, suggerire miglioramenti e potenziare questa API open source: FileFormat.HEIC -for-.NET

 Italiano