การตัดภาพหรือที่เรียกว่าการปิดบังภาพหรือการดึงวัตถุเป็นเทคนิคหนึ่งที่ใช้ในการออกแบบกราฟิกและการประมวลผลภาพ ใช้เพื่อแยกวัตถุหรือวัตถุเฉพาะออกจากภาพ ในบทความนี้ เราจะสำรวจการใช้งาน Image Clipping ใน C# เรียนรู้เทคนิคทีละขั้นตอนเพื่อแยกวัตถุและปรับปรุงการออกแบบของคุณ
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- C# Image Clipping API - ดาวน์โหลดฟรี
- วิธีนำ C# Image Clipping ไปใช้
- แยกวัตถุออกจากรูปภาพใน C#
- แหล่งเรียนรู้ฟรี
C# Image Clipping API - ดาวน์โหลดฟรี
สำหรับการใช้การตัดภาพใน C# เราจะใช้ API Aspose.Drawing for .NET เป็นไลบรารีกราฟิก 2D ข้ามแพลตฟอร์มสำหรับการวาดข้อความ รูปทรงเรขาคณิต และรูปภาพโดยทางโปรแกรม อนุญาตให้โหลด บันทึก และจัดการ รูปแบบไฟล์ที่รองรับ
โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Drawing
C# การตัดภาพ
เราสามารถใช้การตัดภาพโดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาสบิตแมป
- จากนั้น สร้างอ็อบเจกต์คลาสกราฟิกโดยใช้เมธอด FromImage()
- จากนั้นกำหนดเส้นทางของคลิปโดยใช้คลาส GraphicsPath
- หลังจากนั้น กำหนดเส้นทางของคลิปโดยใช้เมธอด SetClip()
- สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด Save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการใช้การตัดภาพใน C#
// สร้างบิตแมปใหม่
var bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// เริ่มต้นกราฟิก
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
// กำหนดคลิป
Rectangle rectangle = new Rectangle(200, 200, 600, 400);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);
// ระบุสตริง
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
Brush brush = new SolidBrush(Color.Red);
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. " +
"Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. " +
"Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, " +
"eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. " +
"Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. " +
"Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. " +
"Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. " +
"Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
// วาดสตริง
graphics.DrawString(text, arial, brush, rectangle, stringFormat);
// บันทึก
bitmap.บันทึก("C:\\Files\\Clipping.png");
แยกวัตถุออกจากรูปภาพใน C#
เราสามารถแยกส่วนเฉพาะของภาพโดยใช้การตัดภาพโดยทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้ อย่างไรก็ตาม เราแค่ต้องโหลดภาพที่มีอยู่แล้ววาดโดยใช้เมธอด DrawImage()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้วัตถุแยกจากรูปภาพใน C#
// สร้างบิตแมปใหม่
var bitmap = new Bitmap(225, 225, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// เริ่มต้นกราฟิก
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
// กำหนดคลิป
Rectangle rectangle = new Rectangle(0, 0, 225, 225);
GraphicsPath clipPath = new GraphicsPath();
clipPath.AddEllipse(rectangle);
graphics.SetClip(clipPath);
// โหลดภาพ
Bitmap image = new Bitmap(@"C:\Files\aspose-logo.png");
// วาดภาพตามตำแหน่งที่กำหนด
graphics.DrawImage(image,0,0);
bitmap.Save("C:\\Files\\extract-object.png");
รับใบอนุญาตชั่วคราวฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อลองใช้ Aspose.Drawing for .NET โดยไม่มีข้อจำกัดในการประเมิน
Aspose.Drawing – แหล่งการเรียนรู้ฟรี
นอกจากการตัดภาพใน C# แล้ว คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติต่างๆ ของไลบรารีโดยใช้ทรัพยากรที่ระบุด้านล่าง:
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีใช้การตัดรูปภาพใน C# เมื่อทำตามคำแนะนำทีละขั้นตอนและตัวอย่างโค้ด คุณจะแยกวัตถุออกจากภาพได้อย่างแม่นยำ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี