บ่อยครั้งที่จำเป็นต้องสร้างวัตถุกราฟิกต่างๆ โดยการวาดรูปร่างต่างๆ เช่น วงกลม เส้น สี่เหลี่ยม ฯลฯ รูปร่างเหล่านี้สามารถใช้สำหรับคำอธิบายประกอบของรูปภาพได้ ในบทความนี้ คุณจะได้เรียนรู้วิธีการวาดรูปร่างต่างๆ โดยทางโปรแกรมใน C# เราจะสาธิตวิธีวาดเส้น วงรี ส่วนโค้ง และสี่เหลี่ยม และสร้างภาพ
- C# API เพื่อวาดรูปร่าง - ดาวน์โหลดฟรี
- วาดเส้นด้วย C#
- วาดวงรีโดยใช้ C#
- การวาดส่วนโค้งด้วย C#
- วาดรูปสี่เหลี่ยมผืนผ้าด้วยภาษา C#
C# API เพื่อวาดรูปร่าง - ดาวน์โหลดฟรี
ในการวาดรูปร่างประเภทต่างๆ เราจะใช้ Aspose.Imaging for .NET เป็น API การแก้ไขรูปภาพที่น่าทึ่งซึ่งมีคุณสมบัติมากมายในการจัดการกับรูปภาพและสร้างภาพวาด คุณสามารถ ดาวน์โหลด API หรือติดตั้งจาก NuGet
PM> Install-Package Aspose.Imaging
วาดเส้นด้วย C#
ต่อไปนี้เป็นขั้นตอนการวาดเส้นใน C#
- ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้คุณสมบัติ BitsPerPixel
- จากนั้นกำหนด StreamSource โดยใช้คุณสมบัติ Source
- สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
- สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
- ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.Clear()
- วาดเส้นโดยใช้เมธอด Graphics.DrawLine(Pen, int, int, int, int)
- สร้างและบันทึกภาพโดยใช้เมธอด Image.Save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดเส้นใน C#
// สร้าง BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.Source = new StreamSource();
// สร้างอินสแตนซ์ของ Image และ call create method โดยผ่าน
// วัตถุ bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
Graphics graphic = new Graphics(image);
// ล้างพื้นผิวภาพด้วยสีขาว
graphic.Clear(Color.White);
// วาดเส้นประโดยระบุวัตถุปากกาที่มีสีน้ำเงินและ
// จุดประสานงาน
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);
// ลากเส้นต่อเนื่องโดยกำหนดให้วัตถุ Pen มี Solid
// แปรงที่มีสีแดงและโครงสร้างสองจุด
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
new Point(18, 18), new Point(18, 200));
// ลากเส้นต่อเนื่องโดยกำหนดให้วัตถุ Pen มี Solid
// แปรงสีขาวและโครงสร้างสองจุด
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
new Point(200, 18), new Point(18, 18));
// บันทึกการเปลี่ยนแปลงทั้งหมด
image.Save("draw_lines.bmp");
ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน
วาดวงรีโดยใช้ C#
ต่อไปนี้เป็นขั้นตอนการวาดวงรีใน C#
- ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้คุณสมบัติ BitsPerPixel
- จากนั้นกำหนด StreamSource โดยใช้คุณสมบัติ Source
- สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
- สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
- ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.Clear()
- วาดวงรีโดยใช้เมธอด Graphics.DrawEllipse(Pen, Rectangle)
- สร้างและบันทึกภาพโดยใช้เมธอด Image.Save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดวงรีบนรูปภาพใน C#
// สร้าง BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.Source = new StreamSource();
// สร้างอินสแตนซ์ของ Image และ call create method โดยผ่าน
// วัตถุ bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
Graphics graphic = new Graphics(image);
// ล้างพื้นผิวภาพด้วยสีขาว
graphic.Clear(Color.White);
// วาดรูปวงรีจุดโดยระบุวัตถุปากกาที่มีสีแดง
// สีและสี่เหลี่ยมผืนผ้าโดยรอบ
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));
// วาดรูปวงรีต่อเนื่องโดยระบุวัตถุปากกาที่มี
// solid brush with blue สีและสี่เหลี่ยมผืนผ้าโดยรอบ
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// บันทึกการเปลี่ยนแปลงทั้งหมด
image.Save("draw_ellipse.bmp");
ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน
วาดส่วนโค้งโดยใช้ C#
ต่อไปนี้เป็นขั้นตอนการวาดส่วนโค้งใน C#
- ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้คุณสมบัติ BitsPerPixel
- จากนั้นกำหนด StreamSource โดยใช้คุณสมบัติ Source
- สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
- สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
- ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.Clear()
- วาดส่วนโค้งโดยใช้เมธอด Graphics.DrawArc(Pen, float x, float y, float width, float height, float startAngle, float sawAngle)
- สร้างและบันทึกภาพโดยใช้เมธอด Image.Save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดส่วนโค้งบนรูปภาพใน C#
// สร้าง BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.Source = new StreamSource();
// สร้างอินสแตนซ์ของ Image และ call create method โดยผ่าน
// วัตถุ bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
Graphics graphic = new Graphics(image);
// ล้างพื้นผิวภาพด้วยสีขาว
graphic.Clear(Color.White);
// วาดรูปส่วนโค้งประโดยระบุวัตถุปากกาที่มีสีแดงดำ
// สีและพิกัด ความสูง ความกว้าง มุมเริ่มต้นและสิ้นสุด
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;
// วาดส่วนโค้งไปที่หน้าจอ
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);
// บันทึกการเปลี่ยนแปลงทั้งหมด
image.Save("draw_arc.bmp");
ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน
วาดรูปสี่เหลี่ยมผืนผ้าด้วยภาษา C#
ต่อไปนี้เป็นขั้นตอนการวาดสี่เหลี่ยมใน C#
- ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้คุณสมบัติ BitsPerPixel
- จากนั้นกำหนด StreamSource โดยใช้คุณสมบัติ Source
- สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
- สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
- ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.Clear()
- วาดสี่เหลี่ยมผืนผ้าโดยใช้เมธอด Graphics.DrawRectangle(Pen, Rectangle)
- สร้างและบันทึกภาพโดยใช้เมธอด Image.Save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดสี่เหลี่ยมบนรูปภาพใน C#
// สร้าง BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.Source = new StreamSource();
// สร้างอินสแตนซ์ของ Image และ call create method โดยผ่าน
// วัตถุ bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
Graphics graphic = new Graphics(image);
// ล้างพื้นผิวภาพด้วยสีขาว
graphic.Clear(Color.White);
// วาดรูปสี่เหลี่ยมผืนผ้าจุดโดยระบุวัตถุปากกาที่มีสีแดง
// สีและโครงสร้างสี่เหลี่ยมผืนผ้า
graphic.DrawRectangle(new Pen(Color.Red, 3),
new Rectangle(60, 40, 70, 120));
// วาดรูปสี่เหลี่ยมผืนผ้าต่อเนื่องโดยระบุวัตถุปากกาที่มี
// solid brush with blue สีและโครงสร้างสี่เหลี่ยมผืนผ้า
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// บันทึกการเปลี่ยนแปลงทั้งหมด
image.Save("draw_reactangle.bmp");
ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน
C# .NET Image Drawing API - รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวฟรี และวาดรูปร่างโดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการวาดรูปร่างใน C# เราได้กล่าวถึงวิธีการวาดเส้น วงรี ส่วนโค้ง และสี่เหลี่ยมบนรูปภาพโดยทางโปรแกรม คุณสามารถรวมตัวอย่างโค้ดที่ให้ไว้ในแอปพลิเคชัน C# ของคุณได้อย่างง่ายดาย
อ่านเพิ่มเติม
คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ .NET โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถแบ่งปันคำถามของคุณกับเราผ่านทาง ฟอรัม