1. Home
  2.   Heic
  3.   FileFormat.HEIC لـ .NET
FileFormat.HEIC لـ .NET

FileFormat.HEIC لـ .NET

 
 

تبسيط عملية قراءة وتحويل صور HEIC باستخدام واجهة برمجة التطبيقات .NET

تحرير الصور بسهولة باستخدام FileFormat.HEIC، وهي واجهة برمجة تطبيقات .NET مفتوحة المصدر، لتبسيط تحويل ملفات HEIC والأتمتة

يُحدث

FileFormat.HEIC لـ .NET ثورة في تجربة معالجة صور HEIC لديك. في هذا الدليل الشامل، نتعمق في وظائف وفوائد الاستفادة من FileFormat.HEIC، وهي واجهة برمجة تطبيقات .NET خفيفة الوزن ومفتوحة المصدر، للتعامل مع ملفات HEIC بسهولة ودون عناء.

HEIC، وهو اختصار لتنسيق ملفات الصور عالي الكفاءة مع الصور المشفرة HEVC (ترميز الفيديو عالي الكفاءة)، هو تنسيق صور حديث تم تطويره ليحل محل JPEG كتنسيق الصورة الافتراضي على أجهزة iOS. على الرغم من أن HEIC يوفر جودة صورة وضغطًا فائقين، إلا أن توافقه عبر الأنظمة الأساسية يظل يمثل تحديًا. تفتقر العديد من التطبيقات والأنظمة الأساسية إلى الدعم الأصلي لـ HEIC، مما يجعل من الصعب عرض هذه الملفات أو تحريرها دون تحويل.

يظهر FileFormat.HEIC كحل قوي لتحويل ملفات HEIC بسلاسة إلى تنسيقات مختلفة، بما في ذلك JPG وPNG وPDF والمزيد. تعمل واجهة برمجة التطبيقات .NET API خفيفة الوزن ومفتوحة المصدر على تبسيط عمليات صور HEIC، مما يوفر للمطورين والمستخدمين واجهة سهلة الاستخدام للتعامل مع ملفات HEIC دون عناء.

يتوفر FileFormat.HEIC ضمن فتح الترخيص.< / ع>

الميزات والفوائد الرئيسية

  • تحويل سهل: يمكنك تحويل ملفات HEIC إلى تنسيقات شائعة مثل JPG وPNG باستخدام بضعة أسطر من التعليمات البرمجية.
  • تكامل وحدة فك ترميز HEVC: استخدم وحدة فك ترميز HEVC المضمنة لفك تشفير ملفات HEIC، مما يضمن تحويلًا دقيقًا وموثوقًا.
  • دعم التنسيق الشامل: يمكنك تحويل ملفات HEIC إلى مجموعة واسعة من التنسيقات، بما في ذلك PDF وWEBP، مما يتيح الاستخدام المتنوع عبر الأنظمة الأساسية والتطبيقات المختلفة.
  • مفتوح المصدر ومجاني: استمتع بمزايا الحل مفتوح المصدر بدون رسوم ترخيص، مما يجعله في متناول المطورين والمستخدمين على جميع المستويات.
  • التكامل السلس مع تطبيقات C#: قم بدمج FileFormat.HEIC بسهولة في تطبيقات C#، مما يتيح معالجة سلسة لملفات HEIC ضمن سير العمل الحالي لديك.

Previous Next

كيفية البدء باستخدام FileFormat.HEIC لـ .NET

إن بدء استخدام FileFormat.HEIC أمر سريع وسهل. ما عليك سوى اتباع الخطوات التالية:

  • تثبيت FileFormat.HEIC: قم بتثبيت حزمة FileFormat.HEIC عبر NuGet Package Manager أو .NET CLI.
  • التكامل مع مشروعك: قم بالرجوع إلى مكتبة FileFormat.HEIC في مشروع C# الخاص بك.
  • بدء التحويل: استخدم واجهة برمجة التطبيقات البسيطة التي يوفرها FileFormat.HEIC لتحويل ملفات HEIC إلى التنسيق المطلوب.

الطريقة الموصى بها لتثبيت FileFormat.HEIC لـ .NET هي استخدام NuGet. الرجاء استخدام الأمر التالي للتثبيت السلس.

قم بتثبيت FileFormat.HEIC لـ .NET عبر NuGet

NuGet> Install-Package FileFormat.HEIC 
يمكنك أيضًا تنزيله مباشرةً من GitHub.

اقرأ ملف HEIC في المصفوفة في C#

يقوم مقتطف الكود هذا بتحميل ملف صورة 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 في C#

يوضح التعليمة البرمجية التالية كيفية فتح ملف صورة 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 إلى صورة نقطية في C#

يوضح التعليمة البرمجية التالية كيفية فتح ملف صورة HEIC موجود، واستخراج بيانات البكسل الخاصة به، وإنشاء كائن نقطي لمزيد من المعالجة:

  • افتح ملف HEIC المسمى "filename.heic" باستخدام FileStream.
  • قم بتحميل صورة HEIC من تدفق الملف إلى كائن HeicImage.
  • استخرج بيانات البكسل من صورة HEIC بتنسيق ARGB32، وقم بتخزينها في مصفوفة int.
  • احصل على عرض وارتفاع صورة HEIC.
  • قم بإنشاء كائن صورة نقطيةبالعرض والارتفاع المحددين.
  • قم بتعيين بيانات البكسل لكل بكسل في الصورة النقطية.

انسخ مقتطف الشفرة أدناه والصقه في ملفك الرئيسي وقم بتنفيذ البرنامج.

اقرأ ملف .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 برمجيًا في C#

يوضح الكود المقدم كيفية تحميل ملف صورة 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 برمجيًا في C#

يوضح الكود المقدم كيفية تحميل ملف صورة مجموعة 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 واجهة برمجة تطبيقات بديهية، ودعمًا شاملاً للتنسيق، وتكاملًا سلسًا مع تطبيقات C#، مما يمكّن المطورين والمستخدمين على حدٍ سواء من إدارة ملفات HEIC دون عناء. سواء كنت تقوم بتحويل ملفات HEIC لاستخدام الويب، أو أرشفة صور iPhone على جهاز كمبيوتر، أو مشاركتها عبر منصات مختلفة، فإن FileFormat.HEIC يبسط العملية، مما يضمن الكفاءة والجودة المثلى في كل خطوة.

استكشف مستودع GitHub الخاص بنا للمساهمة واقتراح التحسينات وتعزيز واجهة برمجة التطبيقات مفتوحة المصدر هذه: FileFormat.HEIC -for-.NET

 عربي