1. Home
  2.   Heic
  3.   FileFormat.HEIC برای NET
FileFormat.HEIC برای .NET

FileFormat.HEIC برای NET

 
 

ساده‌سازی فرآیند خواندن و تبدیل تصاویر HEIC با استفاده از API .NET

به راحتی تصاویر را با FileFormat.HEIC و یک API .NET منبع باز سبک وزن ویرایش کنید و تبدیل و اتوماسیون فایل‌های HEIC را آسان کنید.

FileFormat.HEIC for .NET تجربه پردازش تصویر HEIC شما را متحول می کند. در این راهنمای جامع، ما به کارکردها و مزایای استفاده از FileFormat.HEIC، یک API منبع باز .NET سبک وزن می پردازیم تا به راحتی فایل های HEIC را مدیریت کنید.

HEIC، مخفف عبارت High Efficiency Image File Format با تصاویر رمزگذاری شده HEVC (High Efficiency Video Coding)، یک فرمت تصویر مدرن است که برای جایگزینی JPEG به عنوان فرمت تصویر پیش فرض در دستگاه های iOS توسعه یافته است. در حالی که HEIC کیفیت تصویر و فشرده سازی برتر را ارائه می دهد، سازگاری آن در بین پلتفرم ها همچنان یک چالش است. بسیاری از برنامه‌ها و پلتفرم‌ها فاقد پشتیبانی بومی برای HEIC هستند، که مشاهده یا ویرایش این فایل‌ها را بدون تبدیل دشوار می‌کند.

FileFormat.HEIC به عنوان یک راه حل قدرتمند برای تبدیل یکپارچه فایل های HEIC به فرمت های مختلف، از جمله JPG، PNG، PDF و غیره ظاهر می شود. این API منبع باز.

FileFormat.HEIC تحت مجوز باز کردن در دسترس است.< /p>

ویژگی ها و مزایای کلیدی

  • تبدیل بدون زحمت: فایل‌های HEIC را با چند خط کد به فرمت‌های محبوب مانند JPG و PNG تبدیل کنید.
  • ادغام رمزگشای HEVC: از رمزگشای داخلی HEVC برای رمزگشایی فایل‌های HEIC استفاده کنید و تبدیل دقیق و مطمئن را تضمین کنید.
  • پشتیبانی گسترده از فرمت: فایل‌های HEIC را به طیف گسترده‌ای از فرمت‌ها، از جمله PDF و WEBP تبدیل کنید و امکان استفاده همه‌جانبه در پلتفرم‌ها و برنامه‌های مختلف را فراهم کنید.
  • منبع باز و رایگان: از مزایای راه حل منبع باز بدون هزینه مجوز لذت ببرید، و آن را برای توسعه دهندگان و کاربران در همه سطوح قابل دسترسی می کند.
  • ادغام یکپارچه با برنامه‌های C#: FileFormat.HEIC را بدون دردسر در برنامه‌های C# خود ادغام کنید و امکان مدیریت یکپارچه فایل‌های HEIC را در جریان‌های کاری موجود خود فراهم کنید.

Previous Next

چگونه با FileFormat.HEIC برای دات نت شروع کنیم

شروع با FileFormat.HEIC سریع و آسان است. به سادگی این مراحل را دنبال کنید:

  • Install FileFormat.HEIC: بسته FileFormat.HEIC را از طریق NuGet Package Manager یا NET CLI نصب کنید.
  • ادغام با پروژه خود: به کتابخانه FileFormat.HEIC در پروژه C# خود مراجعه کنید.
  • شروع به تبدیل: از API ساده ارائه شده توسط FileFormat.HEIC برای تبدیل فایل های HEIC به فرمت دلخواه خود استفاده کنید.

روش توصیه شده برای نصب FileFormat.HEIC برای NET استفاده از NuGet است. لطفا از دستور زیر برای نصب راحت استفاده کنید.

FileFormat.HEIC را برای NET از طریق NuGet نصب کنید

NuGet> Install-Package FileFormat.HEIC 
همچنین می‌توانید آن را مستقیماً از GitHub دانلود کنید.

خواندن فایل HEIC در آرایه در سی شارپ

این قطعه کد به طور موثر یک فایل تصویری HEIC را بارگیری می کند، داده های پیکسلی آن را در قالب مشخص شده استخراج می کند و آن را در یک آرایه برای عملیات بعدی ذخیره می کند.

  • فایل HEIC با نام "filename.heic" را با استفاده از FileStreamباز کنید.
  • تصویر HEIC را از جریان فایل در یک شی HeicImageبارگیری کنید.
  • داده های پیکسلی را از تصویر HEIC در قالب ARGB32 استخراج کنید و آن را در یک آرایه عدد صحیح ذخیره کنید.

قطعه کد زیر را کپی و در فایل اصلی خود جایگذاری کنید و برنامه را اجرا کنید.

فایل .heic را در آرایه int با داده Argb32 بخوانید

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

فایل HEIC را در WriteableBitmap در سی شارپ بخوانید

کد زیر نحوه باز کردن یک فایل تصویری HEIC موجود، استخراج داده‌های پیکسلی آن و ایجاد یک شی WriteableBitmap برای پردازش بیشتر را نشان می‌دهد:

  • فایل HEIC با نام "filename.heic" را با استفاده از FileStreamباز کنید.
  • تصویر HEIC را از جریان فایل در یک شی HeicImageبارگیری کنید.
  • داده های پیکسلی را از تصویر HEIC در قالب BGRA32 استخراج کنید و در یک آرایه ذخیره کنید.
  • عرض و ارتفاع تصویر 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);
}

خواندن فایل HEIC در Bitmap در سی شارپ

کد زیر نحوه باز کردن یک فایل تصویر HEIC موجود، استخراج داده‌های پیکسلی آن و ایجاد یک شی Bitmap برای پردازش بیشتر را نشان می‌دهد:

  • فایل HEIC با نام "filename.heic" را با استفاده از FileStreamباز کنید.
  • تصویر HEIC را از جریان فایل در یک شی HeicImageبارگیری کنید.
  • داده های پیکسل را از تصویر HEIC در قالب ARGB32 استخراج کنید و آن را در یک آرایه int ذخیره کنید.
  • عرض و ارتفاع تصویر HEIC را دریافت کنید.
  • یک شی Bitmapبا عرض و ارتفاع مشخص شده ایجاد کنید.
  • داده های پیکسل را برای هر پیکسل 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++]));
}

تبدیل برنامه HEIC به JPG در سی شارپ

کد ارائه شده نشان می دهد که چگونه می توان یک فایل تصویری HEIC را به صورت برنامه ریزی شده بارگذاری کرد، آن را به یک تصویر JPEG تبدیل کرد و آن را به عنوان "output.jpg" با استفاده از C# ذخیره کرد. در اینجا خلاصه ای از مراحل است:

  • فایل HEIC با نام "filename.heic" را در حالت خواندن با استفاده از FileStreamباز کنید.
  • تصویر HEIC را از جریان فایل در یک شی HeicImageبارگیری کنید.
  • داده های پیکسل را از تصویر HEIC در قالب BGRA32 استخراج کنید و آن را در یک آرایه بایت ذخیره کنید.
  • عرض و ارتفاع تصویر HEIC را بازیابی کنید.
  • یک شی WriteableBitmapبا عرض، ارتفاع، DPI، قالب پیکسل و پالت مشخص شده ایجاد کنید.
  • مستطیلی تعریف کنید که کل منطقه بیت مپ را پوشش دهد.
  • داده های پیکسل استخراج شده را در شی WriteableBitmapبنویسید.
  • یک جریان فایل برای ذخیره تصویر تبدیل شده به عنوان "output.jpg" ایجاد یا باز کنید.
  • یک شی JpegBitmapEncoderبرای رمزگذاری بیت مپ به عنوان تصویر JPEG ایجاد کنید.
  • قاب بیت مپ را به رمزگذار اضافه کنید.
  • تصویر کدگذاری شده را در جریان فایل ذخیره کنید.

قطعه کد زیر را کپی و در فایل اصلی خود جایگذاری کنید و برنامه را اجرا کنید.

تبدیل فایل .heic به .jpg با استفاده از 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);
}

تبدیل مجموعه HEIC به مجموعه ای از فایل های PNG بصورت برنامه ای در سی شارپ

کد ارائه شده نحوه بارگیری برنامه‌ای فایل تصویری مجموعه HEIC، تبدیل آن به مجموعه‌ای از فایل‌های PNG و ذخیره آن با استفاده از C# را نشان می‌دهد. در اینجا خلاصه ای از مراحل است:

  • فایل HEIC با نام "filename.heic" را در حالت خواندن با استفاده از FileStreamباز کنید.
  • تصویر HEIC را از جریان فایل در یک شی HeicImageبارگیری کنید.
  • برای هر فریم از تصویر موارد زیر را انجام دهید:
    • داده های پیکسل را از تصویر HEIC در قالب BGRA32 استخراج کنید و آن را در یک آرایه بایت ذخیره کنید.
    • عرض و ارتفاع تصویر HEIC را بازیابی کنید.
    • یک شی WriteableBitmapبا عرض، ارتفاع، DPI، قالب پیکسل و پالت مشخص شده ایجاد کنید.
    • مستطیلی تعریف کنید که کل منطقه بیت مپ را پوشش دهد.
    • داده های پیکسل استخراج شده را در شی 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 را برای استفاده از وب تبدیل کنید، عکس‌های آیفون را به رایانه شخصی بایگانی کنید، یا آن‌ها را در پلتفرم‌های مختلف به اشتراک بگذارید، FileFormat.HEIC فرآیند را ساده می‌کند و کارایی و کیفیت مطلوب را در هر مرحله تضمین می‌کند.

مخزن GitHub ما را برای مشارکت، پیشنهاد بهبودها و بهبود این API منبع باز کاوش کنید: FileFormat.HEIC -for-.NET

 فارسی