ผสาน GIF ผ่าน C#
สร้างแอป .NET ของคุณเองเพื่อรวมไฟล์ GIF โดยใช้ API ฝั่งเซิร์ฟเวอร์
วิธีรวมไฟล์ GIF โดยใช้ C#
หากคุณต้องการปล่อยให้ความคิดสร้างสรรค์ของคุณโลดแล่น นี่คือเวลาที่จะใช้ภาพต่อกัน ฟังก์ชั่นนี้จะช่วยให้คุณสามารถรวมภาพถ่ายและภาพได้ แม้ว่าไฟล์ต้นฉบับจะมีรูปแบบที่แตกต่างกันก็ตาม วิธีที่ยอดเยี่ยมในการดึงดูดความสนใจมาที่ผลงานของคุณคือการใช้วอลเปเปอร์รูปภาพที่มีรูปภาพหรือลวดลายซ้ำๆ ในกรณีนี้ สามารถรวมรูปภาพได้ทั้งในแนวนอนและแนวตั้ง ในกรณีที่คุณต้องการสาธิตผลลัพธ์ของการประมวลผลไฟล์ คุณสามารถรวมสองภาพได้อย่างง่ายดาย: ก่อนและหลังการใช้เอฟเฟ็กต์ภาพถ่าย เพื่อรวมไฟล์ GIF เราจะใช้ Aspose.Imaging for .NET API ซึ่งเป็น API การจัดการและการแปลงรูปภาพที่มีคุณลักษณะหลากหลาย มีประสิทธิภาพ และใช้งานง่ายสำหรับแพลตฟอร์ม C# เปิด NuGet ตัวจัดการแพ็คเกจ ค้นหา ** Aspose.Imaging ** และติดตั้ง คุณสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console
Package Manager Console Command
PM> Install-Package Aspose.Imaging
ขั้นตอนในการผสาน GIFs ผ่าน C#
คุณต้องใช้ aspose.imaging.dll เพื่อลองใช้เวิร์กโฟลว์ต่อไปนี้ในสภาพแวดล้อมของคุณเอง
- โหลดไฟล์ GIF ด้วยวิธี Image.Load
- การรวมภาพเข้าด้วยกันใหม่
- บันทึกภาพที่ผสานลงดิสก์ในรูปแบบที่รองรับโดย Aspose.Imaging
ความต้องการของระบบ
Aspose.Imaging สำหรับ .NET ได้รับการสนับสนุนในระบบปฏิบัติการหลักทั้งหมด เพียงตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นดังต่อไปนี้
- Microsoft Windows หรือระบบปฏิบัติการที่เข้ากันได้กับ .NET Framework, .NET Core, Windows Application, ASP.NET Web Application
- สภาพแวดล้อมการพัฒนาเช่น Microsoft Visual Studio
- Aspose.Imaging สำหรับ .NET ที่อ้างอิงในโครงการของคุณ
รวมภาพ GIF - .NET
using Aspose.Imaging; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Tiff; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Sources; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
string templatesFolder = @"c:\Users\USER\Downloads\templates\"; | |
string dataDir = templatesFolder; | |
var images = new List<Image>(); | |
var singles = new List<Image>(); | |
string[] files = new string[] { "template.png", "template.jpg" }; | |
int maxWidth = 0; | |
int maxHeight = 0; | |
foreach (var fileName in files) | |
{ | |
var image = Image.Load(dataDir + fileName); | |
if (image.Width > maxWidth) | |
{ | |
maxWidth = image.Width; | |
} | |
if (image.Height > maxHeight) | |
{ | |
maxHeight = image.Height; | |
} | |
if (image is VectorImage) | |
{ | |
throw new NotImplementedException("Vector images is not supported by these code snippet. Please look at vector to booklet example to get the iplementation idea."); | |
} | |
if (image is IMultipageImage) | |
{ | |
foreach (var page in ((IMultipageImage)image).Pages) | |
{ | |
singles.Add(page); | |
} | |
} | |
else | |
{ | |
singles.Add(image); | |
} | |
images.Add(image); | |
} | |
var outputPath = Path.Combine(dataDir, "result.tiff"); | |
var outputPath2 = Path.Combine(dataDir, "result.pdf"); | |
using (TiffImage tiffImage = new TiffImage(new TiffFrame((RasterImage)singles[0]))) | |
{ | |
for (int i = 1; i < singles.Count; i++) | |
{ | |
tiffImage.AddPage((RasterImage)singles[i]); | |
} | |
// Save as muti frame tiff | |
tiffImage.Save(outputPath, new TiffOptions(TiffExpectedFormat.TiffJpegRgb)); | |
// Worry about Pdf ? That's it! | |
tiffImage.Save(outputPath2, new PdfOptions()); | |
} | |
images.ForEach(image => image.Dispose()); | |
File.Delete(outputPath); | |
File.Delete(outputPath2); |
เกี่ยวกับ Aspose.Imaging สำหรับ .NET API
Aspose.Imaging API เป็นโซลูชันการประมวลผลรูปภาพเพื่อสร้าง แก้ไข วาดหรือแปลงรูปภาพ (ภาพถ่าย) ภายในแอปพลิเคชัน นำเสนอ: การประมวลผลภาพข้ามแพลตฟอร์ม รวมถึงแต่ไม่จำกัดเพียงการแปลงระหว่างรูปแบบภาพต่างๆ (รวมถึงการประมวลผลภาพแบบหลายหน้าหรือหลายเฟรมแบบเดียวกัน) การปรับเปลี่ยน เช่น การวาด การทำงานกับภาพกราฟิกดั้งเดิม การแปลงภาพ (ปรับขนาด ครอบตัด พลิกและหมุน , ไบนารี, ระดับสีเทา, ปรับ), คุณสมบัติการจัดการภาพขั้นสูง (การกรอง, การแยกสี, การปิดบัง, การเดสก์) และกลยุทธ์การปรับหน่วยความจำให้เหมาะสม เป็นไลบรารีแบบสแตนด์อโลนและไม่ขึ้นกับซอฟต์แวร์ใด ๆ สำหรับการทำงานของรูปภาพ คุณสามารถเพิ่มคุณสมบัติการแปลงรูปภาพประสิทธิภาพสูงด้วย API ดั้งเดิมภายในโปรเจ็กต์ได้อย่างง่ายดาย สิ่งเหล่านี้เป็น API ภายในองค์กรที่เป็นส่วนตัว 100% และอิมเมจได้รับการประมวลผลที่เซิร์ฟเวอร์ของคุณผสาน GIFs ผ่านแอปออนไลน์
รวมเอกสาร GIF โดยไปที่ เว็บไซต์ Live Demos การสาธิตสดมีประโยชน์ดังต่อไปนี้
GIF คืออะไร GIF รูปแบบไฟล์
รูปแบบ GIF หรือ Graphical Interchange เป็นประเภทรูปภาพที่มีการบีบอัดสูง Unisys เป็นเจ้าของ GIF ใช้อัลกอริธึมการบีบอัด LZW ที่ไม่ลดคุณภาพของภาพ สำหรับแต่ละภาพ โดยทั่วไปแล้ว GIF อนุญาตให้ใช้ได้ถึง 8 บิตต่อพิกเซล และอนุญาตให้ใช้สีได้สูงสุด 256 สีทั่วทั้งภาพ ตรงกันข้ามกับภาพ JPEG ที่สามารถแสดงสีได้มากถึง 16 ล้านสีและสัมผัสได้ถึงขีดจำกัดของสายตามนุษย์ ย้อนกลับไปเมื่ออินเทอร์เน็ตปรากฏขึ้น GIF ยังคงเป็นตัวเลือกที่ดีที่สุด เนื่องจากต้องใช้แบนด์วิดท์ต่ำและเข้ากันได้กับกราฟิกที่ใช้พื้นที่สีทึบ GIF แบบเคลื่อนไหวจะรวมรูปภาพหรือเฟรมจำนวนมากเป็นไฟล์เดียว และแสดงตามลำดับเพื่อสร้างคลิปภาพเคลื่อนไหวหรือวิดีโอสั้น ข้อจำกัดสีสูงสุด 256 สำหรับแต่ละเฟรม และมีแนวโน้มว่าจะเหมาะสมน้อยที่สุดสำหรับการสร้างภาพอื่นๆ และภาพถ่ายที่มีการไล่ระดับสี
อ่านเพิ่มเติมรูปแบบการผสานอื่น ๆ ที่รองรับ
การใช้ C# สามารถผสานรูปแบบต่างๆ เข้าด้วยกันได้อย่างง่ายดาย