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

FileFormat.HEIC dla .NET

 
 

Uprość proces odczytu i konwersji obrazów HEIC za pomocą API .NET

Bez wysiłku edytuj obrazy za pomocą FileFormat.HEIC, lekkiego open-source API .NET, uproszczając konwersję i automatyzację plików HEIC.

FileFormat.HEIC dla .NET rewolucjonizuje przetwarzanie obrazów HEIC. W tym obszernym przewodniku zagłębiamy się w funkcjonalności i zalety wykorzystania FileFormat.HEIC, lekkiego interfejsu API .NET typu open source, do łatwej i łatwej obsługi plików HEIC.

HEIC, skrót od High Efficiency Image File Format z obrazami zakodowanymi w formacie HEVC (High Efficiency Video Coding), to nowoczesny format obrazu opracowany w celu zastąpienia JPEG jako domyślnego formatu obrazu na urządzeniach z systemem iOS. Chociaż HEIC oferuje doskonałą jakość obrazu i kompresję, jego kompatybilność na różnych platformach pozostaje wyzwaniem. Wiele aplikacji i platform nie obsługuje natywnej obsługi HEIC, co utrudnia przeglądanie lub edytowanie tych plików bez konwersji.

FileFormat.HEIC okazuje się potężnym rozwiązaniem do płynnej konwersji plików HEIC do różnych formatów, w tym JPG, PNG, PDF i innych. Ten lekki interfejs API .NET typu open source upraszcza operacje na obrazach HEIC, oferując programistom i użytkownikom przyjazny interfejs do łatwej obsługi plików HEIC.

FileFormat.HEIC jest dostępny w ramach Licencji Openize.< /p>

Kluczowe funkcje i zalety

  • Bezproblemowa konwersja: Konwertuj pliki HEIC do popularnych formatów, takich jak JPG i PNG, za pomocą kilku linijek kodu.
  • Integracja dekodera HEVC: wykorzystaj wbudowany dekoder HEVC do dekodowania plików HEIC, zapewniając dokładną i niezawodną konwersję.
  • Rozbudowana obsługa formatów: Konwertuj pliki HEIC do szerokiej gamy formatów, w tym PDF i WEBP, umożliwiając wszechstronne wykorzystanie na różnych platformach i aplikacjach.
  • Otwarte i bezpłatne: ciesz się korzyściami z rozwiązania typu open source bez opłat licencyjnych, dzięki czemu będzie ono dostępne dla programistów i użytkowników na wszystkich poziomach.
  • Bezproblemowa integracja z aplikacjami C#: Zintegruj FileFormat.HEIC bez wysiłku ze swoimi aplikacjami C#, umożliwiając bezproblemową obsługę plików HEIC w ramach istniejących przepływów pracy.

Previous Next

Jak rozpocząć pracę z FileFormat.HEIC dla .NET

Rozpoczęcie pracy z FileFormat.HEIC jest szybkie i łatwe. Po prostu wykonaj następujące kroki:

  • Zainstaluj FileFormat.HEIC: zainstaluj pakiet FileFormat.HEIC za pomocą Menedżera pakietów NuGet lub interfejsu wiersza polecenia .NET.
  • Integracja ze swoim projektem: odwołaj się do biblioteki FileFormat.HEIC w swoim projekcie C#.
  • Rozpocznij konwersję: wykorzystaj prosty interfejs API udostępniany przez FileFormat.HEIC, aby przekonwertować pliki HEIC do żądanego formatu.

Zalecany sposób instalacji FileFormat.HEIC dla .NET polega na użyciu NuGet. Aby instalacja przebiegła bezproblemowo, użyj poniższego polecenia.

Zainstaluj FileFormat.HEIC dla .NET poprzez NuGet

NuGet> Install-Package FileFormat.HEIC 
Możesz go także pobrać bezpośrednio z GitHub.

Wczytaj plik HEIC do tablicy w języku C#

Ten fragment kodu skutecznie ładuje plik obrazu HEIC, wyodrębnia jego dane pikselowe w określonym formacie i przechowuje je w tablicy do późniejszych operacji.

  • Otwórz plik HEIC o nazwie „filename.heic” za pomocą FileStream.
  • Załaduj obraz HEIC ze strumienia pliku do obiektu HeicImage.
  • Wyodrębnij dane pikseli z obrazu HEIC w formacie ARGB32 i zapisz je w tablicy liczb całkowitych.

Skopiuj i wklej poniższy fragment kodu do głównego pliku i uruchom program.

Odczytaj plik .heic do tablicy int z danymi Argb32

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

Odczytaj plik HEIC do WriteableBitmap w C#

Poniższy kod ilustruje, jak otworzyć istniejący plik obrazu HEIC, wyodrębnić jego dane w pikselach i utworzyć obiekt WriteableBitmap do dalszego przetwarzania:

  • Otwórz plik HEIC o nazwie „filename.heic” za pomocą FileStream.
  • Załaduj obraz HEIC ze strumienia pliku do obiektu HeicImage.
  • Wyodrębnij dane pikseli z obrazu HEIC w formacie BGRA32 i zapisz je w tablicy.
  • Uzyskaj szerokość i wysokość obrazu HEIC.
  • Utwórz obiekt WriteableBitmapo określonej szerokości, wysokości i formacie w pikselach.
  • Zdefiniuj prostokąt obejmujący cały obszar bitmapy.
  • Zapisz wyodrębnione dane pikseli do obiektu WriteableBitmap.

Skopiuj i wklej poniższy fragment kodu do głównego pliku i uruchom program.

Przeczytaj plik .heic do 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);
}

Odczytaj plik HEIC do mapy bitowej w C#

Poniższy kod ilustruje, jak otworzyć istniejący plik obrazu HEIC, wyodrębnić jego dane w pikselach i utworzyć obiekt Bitmap do dalszego przetwarzania:

  • Otwórz plik HEIC o nazwie „filename.heic” za pomocą FileStream.
  • Załaduj obraz HEIC ze strumienia pliku do obiektu HeicImage.
  • Wyodrębnij dane pikseli z obrazu HEIC w formacie ARGB32 i przechowuj je w tablicy int.
  • Uzyskaj szerokość i wysokość obrazu HEIC.
  • Utwórz obiekt Bitmapo określonej szerokości i wysokości.
  • Ustaw dane pikseli dla każdego piksela bitmapy.

Skopiuj i wklej poniższy fragment kodu do głównego pliku i uruchom program.

Odczytaj plik .heic do 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++]));
}

Konwertuj HEIC na JPG programowo w C#

Dostarczony kod demonstruje, jak programowo załadować plik obrazu HEIC, przekonwertować go na obraz JPEG i zapisać jako „output.jpg” przy użyciu języka C#. Oto opis poszczególnych kroków:

  • Otwórz plik HEIC o nazwie „filename.heic” w trybie odczytu za pomocą FileStream.
  • Załaduj obraz HEIC ze strumienia pliku do obiektu HeicImage.
  • Wyodrębnij dane pikselowe z obrazu HEIC w formacie BGRA32 i zapisz je w tablicy bajtów.
  • Pobierz szerokość i wysokość obrazu HEIC.
  • Utwórz obiekt WriteableBitmapo określonej szerokości, wysokości, DPI, formacie pikseli i palecie.
  • Zdefiniuj prostokąt obejmujący cały obszar bitmapy.
  • Zapisz wyodrębnione dane pikseli do obiektu WriteableBitmap.
  • Utwórz lub otwórz strumień pliku, aby zapisać przekonwertowany obraz jako „output.jpg”.
  • Utwórz obiekt JpegBitmapEncoder, aby zakodować bitmapę jako obraz JPEG.
  • Dodaj ramkę mapy bitowej do kodera.
  • Zapisz zakodowany obraz w strumieniu pliku.

Skopiuj i wklej poniższy fragment kodu do głównego pliku i uruchom program.

Konwertuj plik .heic na .jpg za pomocą 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);
}

Programowo konwertuj kolekcję HEIC na zestaw plików PNG w języku C#

Dostarczony kod demonstruje, jak programowo załadować plik obrazu kolekcji HEIC, przekonwertować go na zestaw plików PNG i zapisać w języku C#. Oto opis poszczególnych kroków:

  • Otwórz plik HEIC o nazwie „filename.heic” w trybie odczytu za pomocą FileStream.
  • Załaduj obraz HEIC ze strumienia pliku do obiektu HeicImage.
  • Dla każdej klatki obrazu wykonaj następujące czynności:
    • Wyodrębnij dane pikselowe z obrazu HEIC w formacie BGRA32 i zapisz je w tablicy bajtów.
    • Pobierz szerokość i wysokość obrazu HEIC.
    • Utwórz obiekt WriteableBitmapo określonej szerokości, wysokości, DPI, formacie pikseli i palecie.
    • Zdefiniuj prostokąt obejmujący cały obszar bitmapy.
    • Zapisz wyodrębnione dane pikseli do obiektu WriteableBitmap.
    • Utwórz lub otwórz strumień pliku, aby zapisać przekonwertowany obraz jako „output.png”.
    • Utwórz obiekt PngBitmapEncoder, aby zakodować bitmapę jako obraz PNG.
    • Dodaj ramkę mapy bitowej do kodera.
    • Zapisz zakodowany obraz w strumieniu pliku.

Skopiuj i wklej poniższy fragment kodu do głównego pliku i uruchom program.

Konwertuj kolekcję .heic na zestaw plików .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 oferuje intuicyjny interfejs API, kompleksową obsługę formatów i bezproblemową integrację z aplikacjami C#, umożliwiając programistom i użytkownikom łatwe zarządzanie plikami HEIC. Niezależnie od tego, czy konwertujesz pliki HEIC do użytku w Internecie, archiwizujesz zdjęcia z iPhone'a na komputerze, czy udostępniasz je na różnych platformach, FileFormat.HEIC upraszcza proces, zapewniając optymalną wydajność i jakość na każdym kroku.

Przejrzyj nasze repozytorium GitHub, aby wnieść swój wkład, zasugerować ulepszenia i ulepszyć interfejs API Open Source: FileFormat.HEIC -for-.NET

 Polish