1. Home
  2.   Heic
  3.   .NET için FileFormat.HEIC
FileFormat.HEIC için .NET

.NET için FileFormat.HEIC

 
 

HEIC Resimlerini Okuma ve Dönüştürme Sürecini .NET API Kullanarak Basitleştirin

FileFormat.HEIC ile görüntüleri kolayca düzenleyin; bu, HEIC dosyalarının dönüştürülmesini ve otomasyonunu kolaylaştıran hafif bir açık kaynak .NET API'sidir.

FileFormat.HEIC for .NET , HEIC görüntü işleme deneyiminizde devrim yaratır. Bu kapsamlı kılavuzda, HEIC dosyalarını zahmetsizce ve kolaylıkla yönetmek için hafif bir açık kaynaklı .NET API olan FileFormat.HEIC'den yararlanmanın işlevlerini ve avantajlarını ayrıntılı olarak ele alıyoruz.

HEVC (Yüksek Verimli Video Kodlama) kodlu görüntülere sahip Yüksek Verimli Görüntü Dosyası Formatı'nın kısaltması olan HEIC, iOS cihazlarda varsayılan görüntü formatı olarak JPEG'in yerini almak üzere geliştirilmiş modern bir görüntü formatıdır. HEIC üstün görüntü kalitesi ve sıkıştırma sunarken, platformlar arası uyumluluğu hala bir sorun olmaya devam ediyor. Pek çok uygulama ve platformda HEIC için yerel destek bulunmuyor, bu da bu dosyaların dönüştürülmeden görüntülenmesini veya düzenlenmesini zorlaştırıyor.

FileFormat.HEIC, HEIC dosyalarını JPG, PNG, PDF ve daha fazlası dahil olmak üzere çeşitli formatlara sorunsuz bir şekilde dönüştürmek için güçlü bir çözüm olarak ortaya çıkıyor. Bu hafif, açık kaynaklı .NET API, HEIC görüntü işlemlerini basitleştirerek geliştiricilere ve kullanıcılara HEIC dosyalarını zahmetsizce yönetmeleri için kullanıcı dostu bir arayüz sunar.

FileFormat.HEIC, Lisansı Açma altında mevcuttur.< /p>

Temel Özellikler ve Avantajlar

  • Zahmetsiz Dönüşüm: HEIC dosyalarını birkaç satır kodla JPG ve PNG gibi popüler formatlara dönüştürün.
  • HEVC Kod Çözücü Entegrasyonu: HEIC dosyalarının kodunu çözmek için yerleşik HEVC kod çözücüyü kullanarak doğru ve güvenilir dönüşüm sağlayın.
  • Kapsamlı Format Desteği: HEIC dosyalarını PDF ve WEBP dahil çok çeşitli formatlara dönüştürerek farklı platformlarda ve uygulamalarda çok yönlü kullanıma olanak tanır.
  • Açık Kaynak ve Ücretsiz: Lisans ücreti olmadan, her seviyeden geliştirici ve kullanıcı için erişilebilir hale gelen açık kaynaklı bir çözümün avantajlarından yararlanın.
  • C# Uygulamalarıyla Sorunsuz Entegrasyon: FileFormat.HEIC'i C# uygulamalarınıza zahmetsizce entegre ederek, mevcut iş akışlarınızda HEIC dosyalarının sorunsuz şekilde işlenmesine olanak sağlayın.

Previous Next

.NET için FileFormat.HEIC'e Nasıl Başlanır

FileFormat.HEIC'i kullanmaya başlamak hızlı ve kolaydır. Şu adımları uygulamanız yeterlidir:

  • FileFormat.HEIC'i yükleyin: FileFormat.HEIC paketini NuGet Paket Yöneticisi veya .NET CLI aracılığıyla yükleyin.
  • Projenizle Bütünleştirin: C# projenizdeki FileFormat.HEIC kitaplığına başvurun.
  • Dönüştürmeye Başlayın: HEIC dosyalarını istediğiniz formata dönüştürmek için FileFormat.HEIC tarafından sağlanan basit API'yi kullanın.

.NET için FileFormat.HEIC'i yüklemenin önerilen yolu NuGet kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.

NuGet aracılığıyla .NET için FileFormat.HEIC'i yükleyin

NuGet> Install-Package FileFormat.HEIC 
Ayrıca doğrudan GitHub'dan da indirebilirsiniz.

HEIC Dosyasını C#'ta Diziye Okuma

Bu kod pasajı, bir HEIC görüntü dosyasını verimli bir şekilde yükler, piksel verilerini belirtilen formatta çıkarır ve sonraki işlemler için bir dizide saklar.

  • FileStream'i kullanarak "filename.heic" adlı HEIC dosyasını açın.
  • HEIC görüntüsünü dosya akışından bir HeicImagenesnesine yükleyin.
  • HEIC görüntüsünden ARGB32 biçimindeki piksel verilerini çıkarın ve bunu bir tamsayı dizisinde saklayın.

Aşağıdaki kod parçasını kopyalayıp ana dosyanıza yapıştırın ve programı çalıştırın.

.heic dosyasını Argb32 verileriyle int dizisine okuyun

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

HEIC dosyasını C# dilinde WriteableBitmap'e okuyun

Aşağıdaki kod, mevcut bir HEIC görüntü dosyasının nasıl açılacağını, piksel verilerinin nasıl çıkarılacağını ve daha ileri işlemler için bir WriteableBitmap nesnesinin nasıl oluşturulacağını gösterir:

  • FileStream'i kullanarak "filename.heic" adlı HEIC dosyasını açın.
  • HEIC görüntüsünü dosya akışından bir HeicImagenesnesine yükleyin.
  • HEIC görüntüsünden BGRA32 biçimindeki piksel verilerini çıkarın ve bir dizide saklayın.
  • HEIC görüntüsünün genişliğini ve yüksekliğini alın.
  • Belirtilen genişlik, yükseklik ve piksel biçimine sahip bir WriteableBitmapnesnesi oluşturun.
  • Bitmap alanının tamamını kapsayan bir dikdörtgen tanımlayın.
  • Çıkartılan piksel verilerini WriteableBitmapnesnesine yazın.

Aşağıdaki kod parçasını kopyalayıp ana dosyanıza yapıştırın ve programı çalıştırın.

.heic dosyasını System.Windows.Media.Imaging.WriteableBitmap'e okuyun

 
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 dosyasını C# dilinde Bitmap'e okuyun

Aşağıdaki kod, mevcut bir HEIC görüntü dosyasının nasıl açılacağını, piksel verilerinin nasıl çıkarılacağını ve daha ileri işlemler için bir Bitmap nesnesinin nasıl oluşturulacağını gösterir:

  • FileStream'i kullanarak "filename.heic" adlı HEIC dosyasını açın.
  • HEIC görüntüsünü dosya akışından bir HeicImagenesnesine yükleyin.
  • Piksel verilerini HEIC görüntüsünden ARGB32 biçiminde çıkarın ve bunu bir int dizisinde saklayın.
  • HEIC görüntüsünün genişliğini ve yüksekliğini alın.
  • Belirtilen genişlik ve yüksekliğe sahip bir Bitmapnesnesi oluşturun.
  • Bitmap'in her pikseli için piksel verilerini ayarlayın.

Aşağıdaki kod parçasını kopyalayıp ana dosyanıza yapıştırın ve programı çalıştırın.

.heic dosyasını System.Drawing.Common.Bitmap'e okuyun

 
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#'ta HEIC'i JPG'ye Programlı Olarak Dönüştürme

Sağlanan kod, bir HEIC görüntü dosyasının programlı olarak nasıl yükleneceğini, onu bir JPEG görüntüsüne dönüştüreceğini ve C# kullanarak "output.jpg" olarak nasıl kaydedileceğini gösterir. Adımların bir dökümünü burada bulabilirsiniz:

  • FileStream'i kullanarak "filename.heic" adlı HEIC dosyasını okuma modunda açın.
  • HEIC görüntüsünü dosya akışından bir HeicImagenesnesine yükleyin.
  • BGRA32 formatındaki HEIC görüntüsünden piksel verilerini ayıklayın ve bir bayt dizisinde saklayın.
  • HEIC görüntüsünün genişliğini ve yüksekliğini alın.
  • Belirtilen genişlik, yükseklik, DPI, piksel biçimi ve paletle bir WriteableBitmapnesnesi oluşturun.
  • Bitmap alanının tamamını kapsayan bir dikdörtgen tanımlayın.
  • Çıkartılan piksel verilerini WriteableBitmapnesnesine yazın.
  • Dönüştürülen görüntüyü "output.jpg" olarak kaydetmek için bir dosya akışı oluşturun veya açın.
  • Bitmap'i JPEG görüntüsü olarak kodlamak için bir JpegBitmapEncodernesnesi oluşturun.
  • Bitmap çerçevesini kodlayıcıya ekleyin.
  • Kodlanmış görüntüyü dosya akışına kaydedin.

Aşağıdaki kod parçasını kopyalayıp ana dosyanıza yapıştırın ve programı çalıştırın.

WriteableBitmap'i kullanarak .heic dosyasını .jpg'ye dönüştürün

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

HEIC koleksiyonunu C# dilinde program aracılığıyla bir dizi PNG dosyasına dönüştürün

Sağlanan kod, bir HEIC koleksiyon görüntü dosyasının programlı olarak nasıl yükleneceğini, onu bir dizi PNG dosyasına dönüştüreceğini ve C# kullanarak nasıl kaydedeceğini gösterir. Adımların bir dökümünü burada bulabilirsiniz:

  • FileStream'i kullanarak "filename.heic" adlı HEIC dosyasını okuma modunda açın.
  • HEIC görüntüsünü dosya akışından bir HeicImagenesnesine yükleyin.
  • Görüntünün her karesi için aşağıdakileri yapın:
    • BGRA32 formatındaki HEIC görüntüsünden piksel verilerini ayıklayın ve bir bayt dizisinde saklayın.
    • HEIC görüntüsünün genişliğini ve yüksekliğini alın.
    • Belirtilen genişlik, yükseklik, DPI, piksel biçimi ve paletle bir WriteableBitmapnesnesi oluşturun.
    • Bitmap alanının tamamını kapsayan bir dikdörtgen tanımlayın.
    • Çıkartılan piksel verilerini WriteableBitmapnesnesine yazın.
    • Dönüştürülen görüntüyü "output.png" olarak kaydetmek için bir dosya akışı oluşturun veya açın.
    • Bitmap'i PNG görüntüsü olarak kodlamak için bir PngBitmapEncodernesnesi oluşturun.
    • Bitmap çerçevesini kodlayıcıya ekleyin.
    • Kodlanmış görüntüyü dosya akışına kaydedin.

Aşağıdaki kod parçasını kopyalayıp ana dosyanıza yapıştırın ve programı çalıştırın.

.heic koleksiyonunu bir dizi .png dosyasına dönüştürün

 
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, sezgisel bir API, kapsamlı format desteği ve C# uygulamalarıyla kusursuz entegrasyon sunarak geliştiricilerin ve kullanıcıların HEIC dosyalarını zahmetsizce yönetmesine olanak tanır. HEIC dosyalarını web kullanımı için dönüştürüyorsanız, iPhone fotoğraflarını bir PC'ye arşivliyorsanız veya bunları farklı platformlarda paylaşıyorsanız, FileFormat.HEIC her adımda en iyi verimliliği ve kaliteyi sağlayarak süreci basitleştirir.

Bu Açık Kaynak API'sine katkıda bulunmak, iyileştirmeler önermek ve geliştirmek için GitHub depomuzu keşfedin: FileFormat.HEIC -for-.NET

 Türkçe