1. Home
  2.   Heic
  3.   FileFormat.HEIC für .NET
FileFormat.HEIC für .NET

FileFormat.HEIC für .NET

 
 

Vereinfachen Sie den Prozess des Lesens und Konvertierens von HEIC-Bildern mit der .NET-API

Bearbeiten Sie Bilder mühelos mit FileFormat.HEIC, einer leichtgewichtigen Open-Source-.NET-API, die die Konvertierung und Automatisierung von HEIC-Dateien optimiert.

FileFormat.HEIC für .NET revolutioniert Ihr HEIC-Bildverarbeitungserlebnis. In diesem umfassenden Leitfaden befassen wir uns mit den Funktionen und Vorteilen der Nutzung von FileFormat.HEIC, einer leichten Open-Source-.NET-API, um HEIC-Dateien mühelos zu verarbeiten.

HEIC, kurz für High Efficiency Image File Format with HEVC (High Efficiency Video Coding) kodierte Bilder, ist ein modernes Bildformat, das entwickelt wurde, um JPEG als Standardbildformat auf iOS-Geräten zu ersetzen. Obwohl HEIC eine hervorragende Bildqualität und Komprimierung bietet, bleibt seine plattformübergreifende Kompatibilität eine Herausforderung. Vielen Anwendungen und Plattformen fehlt die native Unterstützung für HEIC, was es schwierig macht, diese Dateien ohne Konvertierung anzuzeigen oder zu bearbeiten.

FileFormat.HEIC erweist sich als leistungsstarke Lösung für die nahtlose Konvertierung von HEIC-Dateien in verschiedene Formate, darunter JPG, PNG, PDF und mehr. Diese leichte Open-Source-.NET-API vereinfacht HEIC-Bildvorgänge und bietet Entwicklern und Benutzern eine benutzerfreundliche Oberfläche für die mühelose Verarbeitung von HEIC-Dateien.

FileFormat.HEIC ist unter der Openize-Lizenz verfügbar.< /p>

Hauptfunktionen und Vorteile

  • Mühelose Konvertierung: Konvertieren Sie HEIC-Dateien mit wenigen Codezeilen in gängige Formate wie JPG und PNG.
  • HEVC-Decoder-Integration: Nutzen Sie den integrierten HEVC-Decoder zum Dekodieren von HEIC-Dateien und sorgen Sie so für eine genaue und zuverlässige Konvertierung.
  • Umfangreiche Formatunterstützung: Konvertieren Sie HEIC-Dateien in eine Vielzahl von Formaten, einschließlich PDF und WEBP, und ermöglichen Sie so eine vielseitige Nutzung auf verschiedenen Plattformen und Anwendungen.
  • Open Source und kostenlos: Genießen Sie die Vorteile einer Open-Source-Lösung ohne Lizenzgebühren und machen Sie sie für Entwickler und Benutzer aller Ebenen zugänglich.
  • Nahtlose Integration mit C#-Anwendungen: Integrieren Sie FileFormat.HEIC mühelos in Ihre C#-Anwendungen und ermöglichen Sie so eine nahtlose HEIC-Dateiverarbeitung innerhalb Ihrer bestehenden Arbeitsabläufe.

Previous Next

Erste Schritte mit FileFormat.HEIC für .NET

Der Einstieg in FileFormat.HEIC ist schnell und einfach. Befolgen Sie einfach diese Schritte:

  • FileFormat.HEIC installieren: Installieren Sie das FileFormat.HEIC-Paket über NuGet Package Manager oder .NET CLI.
  • In Ihr Projekt integrieren: Verweisen Sie auf die FileFormat.HEIC-Bibliothek in Ihrem C#-Projekt.
  • Konvertierung starten: Nutzen Sie die einfache API von FileFormat.HEIC, um HEIC-Dateien in Ihr gewünschtes Format zu konvertieren.

Die empfohlene Methode zur Installation von FileFormat.HEIC für .NET ist die Verwendung von NuGet. Für eine reibungslose Installation verwenden Sie bitte den folgenden Befehl.

Installieren Sie FileFormat.HEIC für .NET über NuGet

NuGet> Install-Package FileFormat.HEIC 
Sie können es auch direkt von GitHub herunterladen.

HEIC-Datei in Array in C# einlesen

Dieses Code-Snippet lädt effizient eine HEIC-Bilddatei, extrahiert ihre Pixeldaten im angegebenen Format und speichert sie in einem Array für nachfolgende Vorgänge.

  • Öffnen Sie die HEIC-Datei mit dem Namen „filename.heic“ mit FileStream.
  • Laden Sie das HEIC-Bild aus dem Dateistream in ein HeicImage-Objekt.
  • Extrahieren Sie Pixeldaten aus dem HEIC-Bild im ARGB32-Format und speichern Sie sie in einem Ganzzahl-Array.

Kopieren Sie den folgenden Codeausschnitt, fügen Sie ihn in Ihre Hauptdatei ein und führen Sie das Programm aus.

.heic-Datei in int-Array mit Argb32-Daten lesen

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

HEIC-Datei in WriteableBitmap in C# einlesen

Der folgende Code veranschaulicht, wie eine vorhandene HEIC-Bilddatei geöffnet, ihre Pixeldaten extrahiert und ein WriteableBitmap-Objekt zur weiteren Verarbeitung erstellt wird:

  • Öffnen Sie die HEIC-Datei mit dem Namen „filename.heic“ mit FileStream.
  • Laden Sie das HEIC-Bild aus dem Dateistream in ein HeicImage-Objekt.
  • Extrahieren Sie Pixeldaten aus dem HEIC-Bild im BGRA32-Format und speichern Sie sie in einem Array.
  • Ermitteln Sie die Breite und Höhe des HEIC-Bildes.
  • Erstellen Sie ein WriteableBitmap-Objekt mit der angegebenen Breite, Höhe und dem angegebenen Pixelformat.
  • Definieren Sie ein Rechteck, das den gesamten Bitmap-Bereich abdeckt.
  • Schreiben Sie die extrahierten Pixeldaten in das WriteableBitmap-Objekt.

Kopieren Sie den folgenden Codeausschnitt, fügen Sie ihn in Ihre Hauptdatei ein und führen Sie das Programm aus.

.heic-Datei in System.Windows.Media.Imaging.WriteableBitmap lesen

 
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-Datei in Bitmap in C# einlesen

Der folgende Code veranschaulicht, wie Sie eine vorhandene HEIC-Bilddatei öffnen, ihre Pixeldaten extrahieren und ein Bitmap-Objekt zur weiteren Verarbeitung erstellen:

  • Öffnen Sie die HEIC-Datei mit dem Namen „filename.heic“ mit FileStream.
  • Laden Sie das HEIC-Bild aus dem Dateistream in ein HeicImage-Objekt.
  • Extrahieren Sie die Pixeldaten aus dem HEIC-Bild im ARGB32-Format und speichern Sie sie in einem int-Array.
  • Ermitteln Sie die Breite und Höhe des HEIC-Bildes.
  • Erstellen Sie ein Bitmap-Objekt mit der angegebenen Breite und Höhe.
  • Legen Sie Pixeldaten für jedes Pixel der Bitmapfest.

Kopieren Sie den folgenden Codeausschnitt, fügen Sie ihn in Ihre Hauptdatei ein und führen Sie das Programm aus.

.heic-Datei in System.Drawing.Common.Bitmap lesen

 
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 programmgesteuert in C# in JPG konvertieren

Der bereitgestellte Code zeigt, wie man eine HEIC-Bilddatei programmgesteuert lädt, sie in ein JPEG-Bild konvertiert und sie mit C# als „output.jpg“ speichert. Hier ist eine Aufschlüsselung der Schritte:

  • Öffnen Sie die HEIC-Datei mit dem Namen „filename.heic“ im Lesemodus mit FileStream.
  • Laden Sie das HEIC-Bild aus dem Dateistream in ein HeicImage-Objekt.
  • Extrahieren Sie die Pixeldaten aus dem HEIC-Bild im BGRA32-Format und speichern Sie sie in einem Byte-Array.
  • Rufen Sie die Breite und Höhe des HEIC-Bildes ab.
  • Erstellen Sie ein WriteableBitmap-Objekt mit der angegebenen Breite, Höhe, DPI, Pixelformat und Palette.
  • Definieren Sie ein Rechteck, das den gesamten Bitmap-Bereich abdeckt.
  • Schreiben Sie die extrahierten Pixeldaten in das WriteableBitmap-Objekt.
  • Erstellen oder öffnen Sie einen Dateistream, um das konvertierte Bild als „output.jpg“ zu speichern.
  • Erstellen Sie ein JpegBitmapEncoder-Objekt, um die Bitmap als JPEG-Bild zu kodieren.
  • Fügen Sie den Bitmap-Rahmen zum Encoder hinzu.
  • Speichern Sie das codierte Bild im Dateistream.

Kopieren Sie den folgenden Codeausschnitt, fügen Sie ihn in Ihre Hauptdatei ein und führen Sie das Programm aus.

Konvertieren Sie die .heic-Datei mit WriteableBitmap in .jpg

 
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);
}

Konvertieren Sie die HEIC-Sammlung programmgesteuert in eine Reihe von PNG-Dateien in C#

Der bereitgestellte Code zeigt, wie eine Bilddatei einer HEIC-Sammlung programmgesteuert geladen, in einen Satz PNG-Dateien konvertiert und mit C# gespeichert wird. Hier ist eine Aufschlüsselung der Schritte:

  • Öffnen Sie die HEIC-Datei mit dem Namen „filename.heic“ im Lesemodus mit FileStream.
  • Laden Sie das HEIC-Bild aus dem Dateistream in ein HeicImage-Objekt.
  • Gehen Sie für jeden Frame des Bildes wie folgt vor:
    • Extrahieren Sie die Pixeldaten aus dem HEIC-Bild im BGRA32-Format und speichern Sie sie in einem Byte-Array.
    • Rufen Sie die Breite und Höhe des HEIC-Bildes ab.
    • Erstellen Sie ein WriteableBitmap-Objekt mit der angegebenen Breite, Höhe, DPI, Pixelformat und Palette.
    • Definieren Sie ein Rechteck, das den gesamten Bitmap-Bereich abdeckt.
    • Schreiben Sie die extrahierten Pixeldaten in das WriteableBitmap-Objekt.
    • Erstellen oder öffnen Sie einen Dateistream zum Speichern des konvertierten Bildes als „output.png“.
    • Erstellen Sie ein PngBitmapEncoder-Objekt, um die Bitmap als PNG-Bild zu kodieren.
    • Fügen Sie den Bitmap-Rahmen zum Encoder hinzu.
    • Speichern Sie das codierte Bild im Dateistream.

Kopieren Sie den folgenden Codeausschnitt, fügen Sie ihn in Ihre Hauptdatei ein und führen Sie das Programm aus.

Konvertieren Sie die .heic-Sammlung in eine Reihe von .png-Dateien

 
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 bietet eine intuitive API, umfassende Formatunterstützung und nahtlose Integration mit C#-Anwendungen und ermöglicht Entwicklern und Benutzern gleichermaßen die mühelose Verwaltung von HEIC-Dateien. Egal, ob Sie HEIC-Dateien für die Webnutzung konvertieren, iPhone-Fotos auf einem PC archivieren oder sie auf verschiedenen Plattformen teilen, FileFormat.HEIC vereinfacht den Prozess und sorgt bei jedem Schritt für optimale Effizienz und Qualität.

Erkunden Sie unser GitHub-Repository, um Beiträge zu leisten, Verbesserungen vorzuschlagen und diese Open-Source-API zu verbessern: FileFormat.HEIC -for-.NET

 Deutsch