เรามักจะได้ภาพที่มีขนาดไม่ตรงกับความต้องการของเรา จึงต้องปรับขนาดให้เหมาะสม ในบทความนี้ คุณจะได้เรียนรู้วิธีปรับขนาดรูปภาพใน C# จากภายในแอปพลิเคชัน .NET ของคุณ ยิ่งไปกว่านั้น ด้วยความช่วยเหลือของตัวอย่างโค้ด C# เราจะสาธิตวิธีการปรับขนาดภาพแรสเตอร์และภาพเวกเตอร์
C # API เพื่อปรับขนาดรูปภาพ - ดาวน์โหลดฟรี
เพื่อปรับขนาดภาพ เราจะใช้ Aspose.Imaging for .NET เป็น API การประมวลผลภาพที่ทรงพลังเพื่อจัดการภาพแรสเตอร์และเวกเตอร์ประเภทต่างๆ คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งผ่าน NuGet
PM> Install-Package Aspose.Imaging
ปรับขนาดภาพแรสเตอร์ใน C#
มีสองวิธีในการปรับขนาดภาพแรสเตอร์ (PNG, GIF, JPEG เป็นต้น): การปรับขนาดอย่างง่ายและการปรับขนาดโดยใช้ประเภทการปรับขนาด ในการปรับขนาดอย่างง่าย รูปภาพจะถูกปรับขนาดโดยระบุความสูงและความกว้าง ในขณะที่วิธีที่สองใช้เทคนิคการปรับขนาดที่แตกต่างกัน ส่วนต่อไปนี้จะสาธิตวิธีปรับขนาดรูปภาพโดยใช้แต่ละวิธีที่กล่าวถึงข้างต้น
C# การปรับขนาดรูปภาพอย่างง่าย
ต่อไปนี้เป็นขั้นตอนในการปรับขนาดรูปภาพใน C#
- ขั้นแรก ให้โหลดไฟล์รูปภาพโดยใช้คลาส Image
- จากนั้น ปรับขนาดภาพโดยเรียกใช้เมธอด Image.Resize(Int32, Int32)
- สุดท้าย บันทึกภาพที่ปรับขนาดโดยใช้เมธอด Image.Save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับขนาดรูปภาพในแอปพลิเคชัน .NET
// โหลดภาพ
using (Image image = Image.Load("aspose-logo.jpg"))
{
// ปรับขนาดรูปภาพและบันทึกภาพที่ปรับขนาดแล้ว
image.Resize(300, 300);
image.Save("SimpleResizing_out.jpg");
}
C # ปรับขนาดรูปภาพด้วยประเภทการปรับขนาด
Enum ResizeType ใช้เพื่อระบุเทคนิคการปรับขนาดที่คุณสามารถใช้ตามความต้องการของคุณ รายการประเภทการปรับขนาดที่รองรับทั้งหมดมีอยู่ ที่นี่ ต่อไปนี้เป็นขั้นตอนในการปรับขนาดรูปภาพโดยใช้เทคนิคการปรับขนาดโดยเฉพาะ
- ขั้นแรก โหลดรูปภาพโดยใช้คลาส Image
- จากนั้น ปรับขนาดรูปภาพโดยเรียกเมธอด Image.Resize(Int32, Int32, ResizeType)
- สุดท้าย บันทึกภาพที่ปรับขนาดโดยใช้เมธอด Image.Save(string)
ตัวอย่างโค้ดต่อไปนี้ปรับขนาดรูปภาพโดยใช้เทคนิคการปรับขนาดเฉพาะ
// โหลดภาพ
using (Image image = Image.Load("aspose-logo.jpg"))
{
// ปรับขนาดรูปภาพและบันทึกภาพที่ปรับขนาดแล้ว
image.Resize(300, 300, ResizeType.LanczosResample);
image.Save("SimpleResizing_out.jpg");
}
การปรับขนาดรูปภาพตามสัดส่วนใน C#
การปรับขนาดรูปภาพโดยระบุความสูงและความกว้างอาจทำให้รูปภาพหดหรือปรับขนาดได้ ดังนั้นคุณต้องคำนวณอัตราส่วนกว้างยาวด้วยตนเอง อย่างไรก็ตาม การคำนวณสัดส่วนภาพผิดพลาดอาจทำให้ภาพยืดออกได้ เพื่อหลีกเลี่ยงปัญหาดังกล่าว คุณสามารถใช้การปรับขนาดตามสัดส่วน ต่อไปนี้เป็นขั้นตอนในการบรรลุเป้าหมายนี้
- ขั้นแรก ให้โหลดไฟล์รูปภาพโดยใช้คลาส Image
- จากนั้น แคชข้อมูลรูปภาพโดยใช้เมธอด Image.CacheData()
- กำหนดความสูงและความกว้างใหม่ของรูปภาพ
- คำนวณค่าสัดส่วนโดยใช้เมธอด Image.ResizeWidthProportionally(Int32) และ Image.ResizeHeightProportionally(Int32)
- สุดท้าย บันทึกภาพที่ปรับขนาดโดยใช้เมธอด Image.Save(string)
ในกรณีที่คุณต้องการใช้ประเภทการปรับขนาดเฉพาะใดๆ ในขณะที่ปรับขนาดภาพตามสัดส่วน ให้ใช้วิธีการโอเวอร์โหลด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับขนาดรูปภาพตามสัดส่วนโดยใช้ C#
// โหลดภาพ
using (Image image = Image.Load("aspose-logo.png"))
{
// แคชข้อมูลรูปภาพ
if (!image.IsCached)
{
image.CacheData();
}
// ระบุความกว้างและความสูง
int newWidth = image.Width / 2;
image.ResizeWidthProportionally(newWidth);
int newHeight = image.Height / 2;
image.ResizeHeightProportionally(newHeight);
// บันทึกภาพ
image.Save("ResizeImageProportionally_out.png");
}
ปรับขนาดภาพเวกเตอร์ใน C#
Aspose.Imaging for .NET ยังช่วยให้คุณปรับขนาดภาพเวกเตอร์และบันทึกในรูปแบบภาพแรสเตอร์ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับขนาดภาพ SVG และบันทึกผลลัพธ์ในรูปแบบ PNG
// โหลดภาพ
using (Image image = Image.Load("image.svg"))
{
// ปรับขนาดรูปภาพเป็น PNG
image.Resize(image.Width * 10,image.Height * 15);
image.Save("Logotype_10_15.png", new PngOptions()
{
VectorRasterizationOptions = new SvgRasterizationOptions()
});
}
C# Image Resizing API - รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อปรับขนาดรูปภาพโดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีปรับขนาดรูปภาพโดยทางโปรแกรมโดยใช้ C# นอกจากนี้ ตัวอย่างโค้ดยังแสดงวิธีการปรับขนาดรูปภาพอย่างง่ายหรือปรับขนาดโดยใช้ประเภทเฉพาะ เราได้กล่าวถึงวิธีหลีกเลี่ยงการคำนวณอัตราส่วนภาพด้วยตนเองในขณะที่ปรับขนาดภาพ นอกจากนี้ยังกล่าวถึงการปรับขนาดภาพเวกเตอร์ในตอนท้ายอีกด้วย นอกจากนี้ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ .NET โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถดาวน์โหลดชุดตัวอย่างซอร์สโค้ดทั้งหมดได้จาก GitHub ในกรณีที่มีข้อสงสัย คุณสามารถติดต่อเราได้ที่ ฟอรัม