ปรับขนาดรูปภาพใน c#

เรามักจะได้ภาพที่มีขนาดไม่ตรงกับความต้องการของเรา จึงต้องปรับขนาดให้เหมาะสม ในบทความนี้ คุณจะได้เรียนรู้วิธีปรับขนาดรูปภาพใน 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 ในกรณีที่มีข้อสงสัย คุณสามารถติดต่อเราได้ที่ ฟอรัม

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