1. Home
  2.   Heic
  3.   FileFormat.HEIC สำหรับ .NET
FileFormat.HEIC สำหรับ .NET

FileFormat.HEIC สำหรับ .NET

 
 

ทำให้กระบวนการอ่านและแปลงภาพ HEIC ง่ายขึ้นด้วย API .NET

แก้ไขภาพได้อย่างง่ายดายด้วย FileFormat.HEIC ซึ่งเป็น API .NET ที่เป็นโอเพนซอร์สที่มีน้ำหนักเบา ช่วยให้การแปลงและการทำงานอัตโนมัติของไฟล์ HEIC ง่ายขึ้น

FileFormat.HEIC สำหรับ .NET ปฏิวัติประสบการณ์การประมวลผลภาพ HEIC ของคุณ ในคู่มือที่ครอบคลุมนี้ เราได้เจาะลึกฟังก์ชันและคุณประโยชน์ของการใช้ประโยชน์จาก FileFormat.HEIC ซึ่งเป็น .NET API แบบโอเพ่นซอร์สน้ำหนักเบา เพื่อจัดการไฟล์ HEIC ได้อย่างง่ายดาย

HEIC ย่อมาจากรูปแบบไฟล์รูปภาพประสิทธิภาพสูงพร้อมรูปภาพที่เข้ารหัส HEVC (High Efficiency Video Coding) เป็นรูปแบบรูปภาพสมัยใหม่ที่พัฒนาขึ้นเพื่อแทนที่ JPEG เป็นรูปแบบรูปภาพเริ่มต้นบนอุปกรณ์ iOS แม้ว่า HEIC จะให้คุณภาพของภาพและการบีบอัดที่เหนือกว่า แต่ความเข้ากันได้ข้ามแพลตฟอร์มยังคงเป็นเรื่องท้าทาย แอปพลิเคชันและแพลตฟอร์มจำนวนมากขาดการสนับสนุนดั้งเดิมสำหรับ HEIC ทำให้ยากต่อการดูหรือแก้ไขไฟล์เหล่านี้โดยไม่ต้องแปลง

FileFormat.HEIC กลายเป็นโซลูชั่นอันทรงพลังสำหรับการแปลงไฟล์ HEIC เป็นรูปแบบต่างๆ ได้อย่างราบรื่น รวมถึง JPG, PNG, PDF และอื่นๆ .NET API แบบโอเพ่นซอร์สน้ำหนักเบานี้ทำให้การทำงานของอิมเมจ HEIC ง่ายขึ้น โดยให้นักพัฒนาและผู้ใช้มีอินเทอร์เฟซที่ใช้งานง่ายเพื่อจัดการไฟล์ HEIC ได้อย่างง่ายดาย

FileFormat.HEIC มีให้บริการภายใต้ Openize License< /พี>

คุณสมบัติหลักและคุณประโยชน์

  • การแปลงที่ง่ายดาย: แปลงไฟล์ 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# ของคุณ
  • เริ่มการแปลง: ใช้ API แบบง่ายที่ได้รับจาก FileFormat.HEIC เพื่อแปลงไฟล์ HEIC เป็นรูปแบบที่คุณต้องการ

วิธีที่แนะนำในการติดตั้ง FileFormat.HEIC สำหรับ .NET คือการใช้ NuGet โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น

ติดตั้ง FileFormat.HEIC สำหรับ .NET ผ่าน NuGet

NuGet> Install-Package FileFormat.HEIC 
คุณยังสามารถดาวน์โหลดได้โดยตรงจาก GitHub

อ่านไฟล์ HEIC ลงใน Array ใน C#

ข้อมูลโค้ดนี้จะโหลดไฟล์ภาพ HEIC ได้อย่างมีประสิทธิภาพ แยกข้อมูลพิกเซลในรูปแบบที่ระบุ และจัดเก็บไว้ในอาร์เรย์สำหรับการดำเนินการในภายหลัง

  • เปิดไฟล์ HEIC ชื่อ "filename.heic" โดยใช้ FileStream
  • โหลดรูปภาพ HEIC จากสตรีมไฟล์ลงในออบเจ็กต์ HeicImage
  • แยกข้อมูลพิกเซลออกจากรูปภาพ HEIC ในรูปแบบ ARGB32 และจัดเก็บไว้ในอาร์เรย์จำนวนเต็ม

คัดลอกและวางข้อมูลโค้ดด้านล่างลงในไฟล์หลักของคุณแล้วรันโปรแกรม

อ่านไฟล์ .heic ไปยัง int array ด้วยข้อมูล 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
  • สร้างวัตถุ 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 โดยทางโปรแกรมใน 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 นำเสนอ API ที่ใช้งานง่าย การรองรับรูปแบบที่ครอบคลุม และการผสานรวมกับแอปพลิเคชัน C# ได้อย่างราบรื่น ช่วยให้นักพัฒนาและผู้ใช้จัดการไฟล์ HEIC ได้อย่างง่ายดาย ไม่ว่าคุณจะแปลงไฟล์ HEIC สำหรับการใช้งานเว็บ เก็บถาวรรูปภาพ iPhone ลงในพีซี หรือแชร์บนแพลตฟอร์มต่างๆ FileFormat.HEIC จะทำให้กระบวนการง่ายขึ้น มั่นใจได้ถึงประสิทธิภาพและคุณภาพสูงสุดในทุกขั้นตอน

สำรวจพื้นที่เก็บข้อมูล GitHub ของเราเพื่อสนับสนุน แนะนำการปรับปรุง และปรับปรุง Open Source API นี้: FileFormat.HEIC -สำหรับ-.NET

 Thai