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 ได้อย่างราบรื่นภายในเวิร์กโฟลว์ที่มีอยู่ของคุณ
วิธีเริ่มต้นใช้งาน 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