แปลง GIF แบบเคลื่อนไหวโดยใช้ C#

ภาพเคลื่อนไหว GIF (รูปแบบการแลกเปลี่ยนกราฟิก) มีกรอบภาพจำนวนหนึ่งตามลำดับเฉพาะภายในไฟล์เดียว เฟรมเหล่านี้จะแสดงในลำดับเพื่อสร้างภาพเคลื่อนไหว อาจมีกรณีการใช้งานที่หลากหลายเมื่อคุณต้องการแปลง GIF แบบเคลื่อนไหวเป็นรูปแบบหลายหน้าหรือรูปแบบภาพแรสเตอร์อื่นๆ รูปแบบหลายหน้าประกอบด้วย TIFF และ PDF ในขณะที่ภาพแรสเตอร์อาจเป็น PNG, JPG, BMP และอื่นๆ ในบทความนี้ ฉันจะแสดงวิธีแปลงภาพ GIF แบบเคลื่อนไหวเป็น TIFF, PDF, PNG รูปภาพ JPG และ BMP โดยทางโปรแกรมโดยใช้ C# ตัวอย่างโค้ดที่ระบุในบทความนี้สามารถย้ายไปยัง VB.NET ได้อย่างง่ายดายเช่นกัน

API แปลง C# GIF

Aspose.Imaging for .NET เป็น API ที่มีคุณลักษณะหลากหลายซึ่งรองรับการจัดการรูปแบบภาพเวกเตอร์หรือแรสเตอร์ที่หลากหลาย รวมถึง GIF แบบเคลื่อนไหว อนุญาตให้แปลง GIF แบบเคลื่อนไหวเป็นรูปแบบหลายหน้าอื่น ๆ เช่นเดียวกับภาพแรสเตอร์ภายในแอปพลิเคชัน .NET คุณสามารถติดตั้ง API โดยใช้ NuGet Package Manager หรือดาวน์โหลดและอ้างอิงไฟล์ DLL ด้วยตนเอง

แปลง GIF แบบเคลื่อนไหวเป็น TIFF โดยใช้ C#

TIFF เป็นรูปแบบภาพหลายหน้าที่เก็บภาพหลายภาพไว้ในไฟล์เดียว เนื่องจาก GIF แบบเคลื่อนไหวประกอบด้วยลำดับของเฟรม คุณจึงสามารถส่งออกเฟรมทั้งหมดหรือเฟรมที่เลือกเป็นรูปแบบ TIFF ได้ ในการแปลงนี้ แต่ละเฟรมใน GIF จะถูกแปลงเป็นหน้าในรูปภาพ TIFF ต่อไปนี้เป็นขั้นตอนในการแปลง GIF แบบเคลื่อนไหวเป็นรูปแบบ TIFF โดยใช้ Aspose.Imaging for .NET

  • โหลดภาพ GIF ลงในวัตถุ Image โดยใช้วิธี Image.Load(String)
  • ใช้คลาส MultiPageOptions เพื่อระบุช่วงของเฟรมที่คุณต้องการแปลง (ไม่บังคับ)
  • แปลง GIF เป็น TIFF โดยใช้วิธี Image.Save(String, TiffOptions)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลง GIF เป็น TIFF โดยใช้ C#

// โหลดไฟล์ GIF
using (var image = Image.Load(@"sample_2.gif"))
{      
	// แปลงเฟรมที่เลือกเท่านั้น
	image.Save("Selected-Frames.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { MultiPageOptions = new MultiPageOptions(new IntRange(1, 3)), FullFrame = true });
	// แปลงเฟรมทั้งหมด
	image.Save("GIF-to-TIFF.tiff", new TiffOptions(TiffExpectedFormat.TiffDeflateRgb) { FullFrame = true });
}

แปลง GIF เคลื่อนไหวเป็น PDF โดยใช้ C#

ในการแปลง GIF แบบเคลื่อนไหวเป็น PDF แต่ละเฟรมของ GIF จะถูกแปลงเป็นหน้าที่แยกกันภายใน PDF เช่นเดียวกับ GIF เป็น TIFF คุณสามารถระบุช่วงของเฟรมที่คุณต้องการรับในไฟล์ PDF ที่แปลงแล้วได้ ต่อไปนี้เป็นขั้นตอนในการแปลง GIF แบบเคลื่อนไหวเป็น PDF

  • สร้างอินสแตนซ์ของคลาส Image และโหลดไฟล์ GIF แบบเคลื่อนไหว
  • ใช้คลาส MultiPageOptions เพื่อระบุช่วงของเฟรม (ไม่บังคับ)
  • บันทึกภาพเป็น PDF โดยใช้วิธี Image.Save(String, PdfOptions)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลง GIF แบบเคลื่อนไหวเป็น PDF โดยใช้ C#

// โหลดไฟล์ GIF
using (Image image = Image.Load(@"sample_2.gif"))
{
	// แปลงเฟรมทั้งหมด
	image.Save("GIF-to-PDF.pdf", new PdfOptions() { FullFrame = true });
  // แปลงเฟรมที่เลือก
	image.Save("Selected-Frames-to-PDF.pdf", new PdfOptions() { MultiPageOptions = new MultiPageOptions(new IntRange(2, 5)), FullFrame = true });
}

แปลง GIF Frame เป็น PNG, JPG หรือ BMP โดยใช้ C#

เนื่องจาก GIF แบบเคลื่อนไหวมีลำดับของเฟรม คุณจึงสามารถแยกเฟรมที่ต้องการและแปลงเป็นภาพแรสเตอร์ เช่น PNG, JPG, BMP เป็นต้น

แปลง GIF Frame เป็น PNG โดยใช้ C#

ต่อไปนี้เป็นขั้นตอนในการแปลงเฟรม GIF เป็นภาพ PNG

  • โหลดภาพเคลื่อนไหว GIF โดยใช้วิธี Image.Load(String)
  • แปลงเฟรม GIF เป็น PNG โดยใช้วิธี Image.Save(String, PngOptions) โดยระบุหมายเลขเฟรม

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงเฟรมของภาพเคลื่อนไหว GIF เป็น PNG โดยใช้ C#

// โหลดภาพ GIF
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // แปลงเฟรม 1 ของ GIF เป็น PNG
	image.Save("converted-to-png.png", new PngOptions() { MultiPageOptions = new MultiPageOptions(1), FullFrame = true });
}

แปลง GIF Frame เป็น JPG โดยใช้ C#

Aspose.Imaging แสดงคลาส JpegOptions เพื่อตั้งค่าตัวเลือกในขณะที่แปลงเฟรม GIF เป็นภาพ JPG ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงเฟรมใน GIF เป็น JPG โดยใช้ C#

// โหลดภาพ GIF
using (var image = Image.Load(@"Sample_2.gif"))
{ 
  // แปลงเฟรมที่ 1 ของ GIF เป็น JPG
	image.Save("converted-to-jpg.jpg", new JpegOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

แปลง GIF Frame เป็น BMP โดยใช้ C#

สำหรับการแปลง GIF เป็น BMP API จะจัดเตรียมคลาส BmpOptions ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงเฟรม GIF เป็น BMP โดยใช้ C#

// โหลดภาพ GIF
using (var image = Image.Load(@"Sample_2.gif"))
{
  // แปลงเฟรม 1 ของ GIF เป็น BMP
	image.Save("converted-to-bmp.bmp", new BmpOptions() { MultiPageOptions = new MultiPageOptions(6), FullFrame = true });
}

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแปลง GIF แบบเคลื่อนไหวเป็นรูปแบบหลายหน้า เช่น TIFF และ PDF โดยใช้ C# นอกจากนี้ เราได้เห็นวิธีการแยกเฟรมเฉพาะจากภาพเคลื่อนไหว GIF และแปลงเป็นภาพ PNG, JPG หรือ BMP คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Imaging for .NET โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย

ข้อมูล: คุณอาจต้องการดู Text to GIF Converter Aspose ที่พัฒนาขึ้นล่าสุดฟรี