
JPEG หรือ JPG เป็นหนึ่งในรูปแบบภาพที่ใช้กันมากที่สุดในการจัดเก็บภาพและภาพถ่าย ในบางกรณี เราอาจจำเป็นต้องครอบตัดหรือหมุนรูปภาพด้วยเหตุผลหลายประการ ในบทความนี้ เราจะได้เรียนรู้วิธีครอบตัดและปรับขนาดภาพ JPEG โดยใช้ C#
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- C# Image API เพื่อครอบตัดและปรับขนาด JPEG
- ครอบตัดรูปภาพ JPEG โดยใช้ C#
- ครอบตัดรูปภาพให้มีขนาดเฉพาะ
- ปรับขนาดรูปภาพ JPEG ใน C#
- ปรับขนาดภาพ JPEG ตามสัดส่วน
C# Imaging API เพื่อครอบตัดและปรับขนาด JPEG
สำหรับการครอบตัดและปรับขนาดรูปภาพ เราจะใช้ Aspose.Imaging for .NET API ช่วยให้เราสามารถสร้าง โหลด จัดการ แปลง และบีบอัดรูปภาพหรือรูปถ่ายโดยทางโปรแกรม โปรดดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Imaging
ครอบตัดรูปภาพ JPEG โดยใช้ C#
เราสามารถครอบตัดรูปภาพ JPEG/JPG จากทุกด้านไปยังกึ่งกลางของรูปภาพได้อย่างง่ายดาย เพื่อจุดประสงค์นี้ คลาส RasterImage ให้วิธีการครอบตัด (Int32, Int32, Int32, Int32) ที่ครอบตัดรูปภาพด้วยค่าการเปลี่ยนแปลงที่ระบุ ใช้ค่าการเลื่อนซ้าย ขวา บน และล่างเป็นอาร์กิวเมนต์เพื่อครอบตัดขอบเขตรูปภาพ เราสามารถครอบตัดรูปภาพโดยใช้วิธีครอบตัดแบบ Shift โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดรูปภาพ JPG ที่อินพุตโดยใช้คลาส RasterImage
- จากนั้น แคชรูปภาพโดยใช้เมธอด CacheData
- หลังจากนั้นให้เรียกเมธอด Crop() โดยมีค่า shift เป็นอาร์กิวเมนต์
- สุดท้ายให้เรียกใช้เมธอด Save() โดยมีพาธของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์เพื่อบันทึกไฟล์ภาพที่ครอบตัด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการครอบตัดรูปภาพ JPEG โดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีการครอบตัดรูปภาพ JPG โดยใช้วิธีครอบตัดตามกะ
// โหลดรูปภาพที่มีอยู่ลงในอินสแตนซ์ของคลาส RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");
// ก่อนที่จะครอบตัด รูปภาพควรถูกแคชไว้เพื่อประสิทธิภาพที่ดีขึ้น
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// กำหนดค่ากะสำหรับทั้งสี่ด้าน
int leftShift = 30;
int rightShift = 30;
int topShift = 30;
int bottomShift = 30;
// ขึ้นอยู่กับค่าการเปลี่ยนแปลง ให้ใช้การครอบตัดกับรูปภาพ
// วิธีการครอบตัดจะเลื่อนขอบเขตรูปภาพไปทางกึ่งกลางของรูปภาพ
rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);
// บันทึกภาพที่ครอบตัด
rasterImage.Save(@"C:\Files\images\cropped_out.jpg");

ครอบตัดรูปภาพ JPEG โดยใช้ C#
ครอบตัดรูปภาพให้มีขนาดเฉพาะโดยใช้ C#
คลาส RasterImage ยังมีวิธีการครอบตัด (สี่เหลี่ยมผืนผ้า) ที่โอเวอร์โหลดซึ่งจะครอบตัดพื้นที่เฉพาะของรูปภาพตามขนาดที่ระบุ ใช้อินสแตนซ์ของคลาส Rectangle เป็นอาร์กิวเมนต์ เราสามารถครอบตัดรูปภาพให้มีขนาดที่ระบุได้โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดรูปภาพ JPG ที่อินพุตโดยใช้คลาส RasterImage
- จากนั้น แคชรูปภาพโดยใช้เมธอด CacheData
- จากนั้นเริ่มต้นวัตถุคลาสสี่เหลี่ยมผืนผ้าด้วยตำแหน่งและขนาดที่ระบุ
- หลังจากนั้น ให้เรียกเมธอด Crop() โดยมีอ็อบเจ็กต์สี่เหลี่ยมผืนผ้าที่สร้างขึ้นเป็นอาร์กิวเมนต์
- สุดท้าย ให้เรียกเมธอด Save() โดยมีพาธของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์เพื่อบันทึกไฟล์ภาพที่ครอบตัด .
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการครอบตัดรูปภาพ JPEG ให้มีขนาดเฉพาะโดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีการครอบตัดรูปภาพ JPG โดยใช้วิธีครอบตัดตามสี่เหลี่ยมผืนผ้า
// โหลดรูปภาพที่มีอยู่ลงในอินสแตนซ์ของคลาส RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");
// ก่อนที่จะครอบตัด รูปภาพควรถูกแคชไว้เพื่อประสิทธิภาพที่ดีขึ้น
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// สร้างอินสแตนซ์ของคลาสสี่เหลี่ยมผืนผ้าด้วยขนาดที่ต้องการ
Rectangle rectangle = new Rectangle(35, 35, 580, 240);
// ดำเนินการครอบตัดบนวัตถุของคลาสสี่เหลี่ยมผืนผ้า
rasterImage.Crop(rectangle);
// บันทึกภาพที่ครอบตัด
rasterImage.Save(@"C:\Files\images\CroppingByRectangle_out.jpg");

ครอบตัดรูปภาพเป็นขนาดเฉพาะโดยใช้ C#
ปรับขนาดรูปภาพ JPEG ใน C#
คลาส Image มีเมธอด Resize() เพื่อปรับขนาดรูปภาพ เราสามารถปรับขนาดภาพ JPEG ได้โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดรูปภาพ JPG ที่อินพุตโดยใช้คลาส Image
- จากนั้น เรียกเมธอด Resize(int32, int32) โดยมีความกว้างและความสูงที่ต้องการเป็นอาร์กิวเมนต์
- สุดท้าย ให้เรียกเมธอด Save() โดยมีพาธของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์เพื่อบันทึกรูปภาพที่ปรับขนาดแล้ว .
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับขนาดรูปภาพ JPEG โดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีการครอบตัดรูปภาพ JPG โดยใช้วิธีครอบตัดตามสี่เหลี่ยมผืนผ้า
// โหลดรูปภาพที่มีอยู่
Image image = Image.Load(@"C:\Files\images\aspose_logo.jpg");
// ความกว้างและความสูงใหม่
image.Resize(300, 100);
// บันทึกภาพที่ปรับขนาดแล้ว
image.Save(@"C:\Files\images\SimpleResizing_out.jpg");

ปรับขนาดรูปภาพ JPEG ใน C#
ปรับขนาดรูปภาพ JPEG ตามสัดส่วนใน C#
เราอาจได้รับภาพที่ยืดออกเมื่อเราปรับขนาดโดยมีความสูงและความกว้างคงที่ เราสามารถใช้การปรับขนาดตามสัดส่วนเพื่อหลีกเลี่ยงภาพที่ยืดออก เพื่อจุดประสงค์นี้ คลาส Image จัดให้มีวิธี ResizeWidthProportional(Int32) และ ResizeHeightProportionally(Int32) โปรดปฏิบัติตามขั้นตอนด้านล่างเพื่อปรับขนาดรูปภาพตามสัดส่วนความกว้างและความสูง
- ขั้นแรก โหลดรูปภาพ JPG ที่อินพุตโดยใช้คลาส Image
- จากนั้น เรียกเมธอด Image.ResizeWidthProportionally(Int32) ด้วยความกว้างใหม่เป็นอาร์กิวเมนต์
- หลังจากนั้น ให้เรียกใช้เมธอด Image.ResizeHeightProportionally(Int32) ด้วยความสูงใหม่เป็นอาร์กิวเมนต์
- สุดท้าย ให้เรียกเมธอด Save() โดยมีพาธของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์เพื่อบันทึกรูปภาพที่ปรับขนาดแล้ว .
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับขนาดรูปภาพ JPEG ตามสัดส่วนโดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีการครอบตัดรูปภาพ JPG โดยใช้วิธีครอบตัดตามสี่เหลี่ยมผืนผ้า
// โหลดรูปภาพที่มีอยู่
Image image = Image.Load(@"C:\Files\images\sample.jpg");
// ความกว้าง
int newความกว้าง = image.ความกว้าง / 2;
image.Resizeความกว้างProportionally(newความกว้าง);
// ความสูง
int newความสูง = image.ความสูง / 2;
image.ResizeความสูงProportionally(newความสูง);
// กำหนดตัวเลือกการบันทึก
JpegOptions saveOptions = new JpegOptions();
saveOptions.Quality = 100;
// บันทึกภาพ
image.Save(@"C:\Files\images\sample_out.jpg", saveOptions);
รับใบอนุญาตฟรี
โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธี:
- ครอบตัดรูปภาพ JPEG ใน C#;
- ครอบตัดรูปภาพให้มีขนาดเฉพาะ
- ปรับขนาดภาพ JPEG โดยทางโปรแกรม
- ปรับขนาดภาพ JPEG ตามสัดส่วน
นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Imaging for .NET API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม