1. Home
  2.   Heic
  3.   .NET 用の FileFormat.HEIC
FileFormat.HEIC for .NET

.NET 用の FileFormat.HEIC

 
 

.NET APIを使用してHEIC画像の読み取りと変換のプロセスを簡素化

FileFormat.HEICを使用して、軽量のオープンソース.NET APIで画像を手軽に編集し、HEICファイルの変換と自動化を効率化します。

FileFormat.HEIC for .NET は、HEIC 画像処理エクスペリエンスに革命をもたらします。この包括的なガイドでは、軽量のオープンソース .NET API である FileFormat.HEIC を活用して HEIC ファイルを簡単に処理する機能とメリットについて詳しく説明します。

HEIC は、HEVC (High Efficiency Videocoding) でエンコードされた画像を使用した High Efficiency Image File Format の略称で、iOS デバイスのデフォルトの画像形式として JPEG を置き換えるために開発された最新の画像形式です。 HEIC は優れた画質と圧縮を提供しますが、プラットフォーム間での互換性には依然として課題が残っています。多くのアプリケーションやプラットフォームには HEIC のネイティブ サポートがないため、変換せずにこれらのファイルを表示または編集することが困難になります。

FileFormat.HEIC は、HEIC ファイルを JPG、PNG、PDF などのさまざまな形式にシームレスに変換するための強力なソリューションとして登場しました。この軽量のオープンソース .NET API は、HEIC 画像の操作を簡素化し、HEIC ファイルを簡単に処理できる使いやすいインターフェイスを開発者とユーザーに提供します。

FileFormat.HEIC は、Openize License で入手できます。< /p>

主な機能と利点

  • 簡単な変換: 数行のコードで HEIC ファイルを JPG や PNG などの一般的な形式に変換します。
  • HEVC デコーダーの統合: 内蔵 HEVC デコーダーを利用して HEIC ファイルをデコードし、正確で信頼性の高い変換を保証します。
  • 広範な形式のサポート: HEIC ファイルを PDF や WEBP などの幅広い形式に変換し、さまざまなプラットフォームやアプリケーションで多用途に使用できるようにします。
  • オープンソースと無料: ライセンス料がかからず、あらゆるレベルの開発者やユーザーがアクセスできるオープンソース ソリューションのメリットを享受できます。
  • C# アプリケーションとのシームレスな統合: FileFormat.HEIC を C# アプリケーションに簡単に統合し、既存のワークフロー内でシームレスな HEIC ファイル処理を可能にします。

Previous Next

FileFormat.HEIC for .NET の使用を開始する方法

FileFormat.HEIC はすぐに簡単に使い始めることができます。次の手順に従ってください。

  • FileFormat.HEIC をインストールする: NuGet パッケージ マネージャーまたは .NET CLI を介して FileFormat.HEIC パッケージをインストールします。
  • プロジェクトとの統合: C# プロジェクトで FileFormat.HEIC ライブラリを参照します。
  • 変換の開始: FileFormat.HEIC が提供するシンプルな API を利用して、HEIC ファイルを希望の形式に変換します。

FileFormat.HEIC for .NET をインストールする推奨方法は、NuGet を使用することです。スムーズにインストールするには、次のコマンドを使用してください。

NuGet 経由で .NET 用の FileFormat.HEIC をインストールする

NuGet> Install-Package FileFormat.HEIC 
GitHub から直接ダウンロードすることもできます。

C# で HEIC ファイルを配列に読み取る

このコード スニペットは、HEIC 画像ファイルを効率的にロードし、そのピクセル データを指定された形式で抽出し、後続の操作のために配列に保存します。

  • FileStreamを使用して、「filename.heic」という名前の HEIC ファイルを開きます。
  • HEIC 画像をファイル ストリームから HeicImageオブジェクトに読み込みます。
  • ARGB32 形式で HEIC 画像からピクセル データを抽出し、整数配列に保存します。

以下のコード スニペットをコピーしてメイン ファイルに貼り付け、プログラムを実行します。

.heic ファイルを Argb32 データを含む int 配列に読み取ります

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

C# で HEIC ファイルを WriteableBitmap に読み取る

次のコードは、既存の HEIC 画像ファイルを開いてそのピクセル データを抽出し、さらなる処理のために WriteableBitmap オブジェクトを作成する方法を示しています。

  • FileStreamを使用して、「filename.heic」という名前の HEIC ファイルを開きます。
  • HEIC 画像をファイル ストリームから HeicImageオブジェクトに読み込みます。
  • BGRA32 形式で HEIC 画像からピクセル データを抽出し、配列に保存します。
  • HEIC 画像の幅と高さを取得します。
  • 指定された幅、高さ、ピクセル形式で WriteableBitmapオブジェクトを作成します。
  • ビットマップ領域全体をカバーする長方形を定義します。
  • 抽出したピクセル データを WriteableBitmapオブジェクトに書き込みます。

以下のコード スニペットをコピーしてメイン ファイルに貼り付け、プログラムを実行します。

.heic ファイルを 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);
}

C# で HEIC ファイルをビットマップに読み取る

次のコードは、既存の HEIC 画像ファイルを開いてそのピクセル データを抽出し、さらに処理するためのビットマップ オブジェクトを作成する方法を示しています。

  • FileStreamを使用して、「filename.heic」という名前の HEIC ファイルを開きます。
  • HEIC 画像をファイル ストリームから HeicImageオブジェクトに読み込みます。
  • ARGB32 形式で HEIC 画像からピクセル データを抽出し、int 配列に保存します。
  • HEIC 画像の幅と高さを取得します。
  • 指定された幅と高さで Bitmapオブジェクトを作成します。
  • ビットマップの各ピクセルにピクセルデータを設定します。

以下のコード スニペットをコピーしてメイン ファイルに貼り付け、プログラムを実行します。

.heic ファイルを 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++]));
}

C# でプログラム的に HEIC を JPG に変換

提供されたコードは、C# を使用してプログラムで HEIC 画像ファイルを読み込み、JPEG 画像に変換し、「output.jpg」として保存する方法を示しています。手順の内訳は次のとおりです。

  • FileStreamを使用して、「filename.heic」という名前の HEIC ファイルを読み取りモードで開きます。
  • HEIC 画像をファイル ストリームから HeicImageオブジェクトに読み込みます。
  • BGRA32 形式で HEIC 画像からピクセル データを抽出し、バイト配列に保存します。
  • HEIC 画像の幅と高さを取得します。
  • 指定された幅、高さ、DPI、ピクセル形式、パレットを使用して WriteableBitmapオブジェクトを作成します。
  • ビットマップ領域全体をカバーする長方形を定義します。
  • 抽出したピクセル データを WriteableBitmapオブジェクトに書き込みます。
  • 変換された画像を「output.jpg」として保存するためのファイル ストリームを作成するか開きます。
  • JpegBitmapEncoderオブジェクトを作成して、ビットマップを JPEG 画像としてエンコードします。
  • ビットマップ フレームをエンコーダに追加します。
  • エンコードされた画像をファイル ストリームに保存します。

以下のコード スニペットをコピーしてメイン ファイルに貼り付け、プログラムを実行します。

WriteableBitmap を使用して .heic ファイルを .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);
}

C# でプログラム的に HEIC コレクションを PNG ファイルのセットに変換します

提供されたコードは、HEIC コレクション画像ファイルをプログラムで読み込み、PNG ファイルのセットに変換し、C# を使用して保存する方法を示しています。手順の内訳は次のとおりです。

  • FileStreamを使用して、「filename.heic」という名前の HEIC ファイルを読み取りモードで開きます。
  • HEIC 画像をファイル ストリームから HeicImageオブジェクトに読み込みます。
  • 画像のフレームごとに次の操作を行います:
    • BGRA32 形式で HEIC 画像からピクセル データを抽出し、バイト配列に保存します。
    • HEIC 画像の幅と高さを取得します。
    • 指定された幅、高さ、DPI、ピクセル形式、パレットを使用して WriteableBitmapオブジェクトを作成します。
    • ビットマップ領域全体をカバーする長方形を定義します。
    • 抽出したピクセル データを WriteableBitmapオブジェクトに書き込みます。
    • 変換された画像を「output.png」として保存するためのファイル ストリームを作成するか開きます。
    • PngBitmapEncoderオブジェクトを作成して、ビットマップを PNG 画像としてエンコードします。
    • ビットマップ フレームをエンコーダに追加します。
    • エンコードされた画像をファイル ストリームに保存します。

以下のコード スニペットをコピーしてメイン ファイルに貼り付け、プログラムを実行します。

.heic コレクションを .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 は、直感的な API、包括的な形式サポート、C# アプリケーションとのシームレスな統合を提供し、開発者とユーザーが同様に HEIC ファイルを簡単に管理できるようにします。 HEIC ファイルを Web 用に変換する場合でも、iPhone の写真を PC にアーカイブする場合でも、異なるプラットフォーム間で共有する場合でも、FileFormat.HEIC はプロセスを簡素化し、あらゆるステップで最適な効率と品質を保証します。

GitHub リポジトリを探索して、このオープン ソース API に貢献、改善提案、強化してください: FileFormat.HEIC -for.NET

 日本