การตัดภาพใน C#

การตัดภาพหรือที่เรียกว่าการปิดบังภาพหรือการดึงวัตถุเป็นเทคนิคหนึ่งที่ใช้ในการออกแบบกราฟิกและการประมวลผลภาพ ใช้เพื่อแยกวัตถุหรือวัตถุเฉพาะออกจากภาพ ในบทความนี้ เราจะสำรวจการใช้งาน Image Clipping ใน C# เรียนรู้เทคนิคทีละขั้นตอนเพื่อแยกวัตถุและปรับปรุงการออกแบบของคุณ

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

  1. C# Image Clipping API - ดาวน์โหลดฟรี
  2. วิธีนำ C# Image Clipping ไปใช้
  3. แยกวัตถุออกจากรูปภาพใน C#
  4. แหล่งเรียนรู้ฟรี

C# Image Clipping API - ดาวน์โหลดฟรี

สำหรับการใช้การตัดภาพใน C# เราจะใช้ API Aspose.Drawing for .NET เป็นไลบรารีกราฟิก 2D ข้ามแพลตฟอร์มสำหรับการวาดข้อความ รูปทรงเรขาคณิต และรูปภาพโดยทางโปรแกรม อนุญาตให้โหลด บันทึก และจัดการ รูปแบบไฟล์ที่รองรับ

โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.Drawing

C# การตัดภาพ

เราสามารถใช้การตัดภาพโดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาสบิตแมป
  2. จากนั้น สร้างอ็อบเจกต์คลาสกราฟิกโดยใช้เมธอด FromImage()
  3. จากนั้นกำหนดเส้นทางของคลิปโดยใช้คลาส GraphicsPath
  4. หลังจากนั้น กำหนดเส้นทางของคลิปโดยใช้เมธอด SetClip()
  5. สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด 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# การตัดภาพ

C# การตัดภาพ

แยกวัตถุออกจากรูปภาพใน 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");
แยกวัตถุออกจากรูปภาพใน C#

แยกวัตถุออกจากรูปภาพใน C#

รับใบอนุญาตชั่วคราวฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อลองใช้ Aspose.Drawing for .NET โดยไม่มีข้อจำกัดในการประเมิน

Aspose.Drawing – แหล่งการเรียนรู้ฟรี

นอกจากการตัดภาพใน C# แล้ว คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติต่างๆ ของไลบรารีโดยใช้ทรัพยากรที่ระบุด้านล่าง:

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีใช้การตัดรูปภาพใน C# เมื่อทำตามคำแนะนำทีละขั้นตอนและตัวอย่างโค้ด คุณจะแยกวัตถุออกจากภาพได้อย่างแม่นยำ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

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