วาดรูปร่างใน Java

ในบางกรณี คุณอาจต้องสร้างวัตถุต่าง ๆ โดยการวาดรูปร่างต่าง ๆ เช่น วงกลม เส้น สี่เหลี่ยม ฯลฯ นอกจากนี้ คุณอาจต้องวาดรูปร่างเหล่านี้บนรูปภาพสำหรับคำอธิบายประกอบ ในบทความนี้ คุณจะได้เรียนรู้วิธีการวาดรูปร่างโดยทางโปรแกรมใน Java โดยเฉพาะอย่างยิ่ง คุณจะได้เรียนรู้วิธีการวาดเส้น วงรี ส่วนโค้ง และสี่เหลี่ยม และสร้างภาพเหล่านั้น

Java API เพื่อวาดรูปร่าง - ดาวน์โหลดฟรี

ในการวาดรูปร่างและสร้างภาพผลลัพธ์ เราจะใช้ Aspose.Imaging for Java เป็น API การแก้ไขภาพที่ทรงพลังซึ่งมีคุณสมบัติที่หลากหลายในการจัดการภาพและสร้างภาพวาด คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>22.9</version>
</dependency>

วาดเส้นโดยใช้ Java

ต่อไปนี้เป็นขั้นตอนการวาดเส้นใน Java

  • ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้เมธอด setBitsPerPixel()
  • จากนั้น กำหนด StreamSource โดยใช้วิธี setSource()
  • สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
  • สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
  • ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.clear()
  • วาดเส้นโดยใช้เมธอด Graphics.drawLine(Pen, int, int, int, int)
  • สร้างและบันทึกภาพโดยใช้เมธอด Image.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดเส้นใน Java

// สร้าง BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// สร้างอินสแตนซ์ของ Image และ call create method โดยผ่าน
// วัตถุ bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 500, 500);

// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// ล้างพื้นผิวภาพด้วยสีขาว
graphic.clear(com.aspose.imaging.Color.getWhite());

// วาดเส้นประโดยระบุวัตถุปากกาที่มีสีน้ำเงินและ
// จุดประสานงาน
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 18, 200, 200);
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 200, 200, 18);

// ลากเส้นต่อเนื่องโดยกำหนดให้วัตถุ Pen มี Solid
// แปรงที่มีสีแดงและโครงสร้างสองจุด
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getRed()), 3),
		new com.aspose.imaging.Point(18, 18), new com.aspose.imaging.Point(18, 200));

// ลากเส้นต่อเนื่องโดยกำหนดให้วัตถุ Pen มี Solid
// แปรงสีขาวและโครงสร้างสองจุด
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getOrange()), 3),
		new com.aspose.imaging.Point(200, 18), new com.aspose.imaging.Point(18, 18));

// บันทึกการเปลี่ยนแปลงทั้งหมด
image.save("draw_lines.bmp");

ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน

วาดเส้นในภาษาจาวา

วาดวงรีโดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการวาดวงรีใน Java

  • ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้เมธอด setBitsPerPixel()
  • จากนั้น กำหนด StreamSource โดยใช้วิธี setSource()
  • สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
  • สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
  • ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.clear()
  • วาดวงรีโดยใช้เมธอด Graphics.drawEllipse(Pen, Rectangle)
  • สร้างและบันทึกภาพโดยใช้เมธอด Image.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดวงรีบนรูปภาพใน Java

// สร้าง BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// สร้างอินสแตนซ์ของ Image และ call create method โดยผ่าน
// วัตถุ bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// ล้างพื้นผิวภาพด้วยสีขาว
graphic.clear(com.aspose.imaging.Color.getWhite());

// วาดรูปวงรีจุดโดยระบุวัตถุปากกาที่มีสีแดง
// สีและสี่เหลี่ยมผืนผ้าโดยรอบ
graphic.drawEllipse(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// วาดรูปวงรีต่อเนื่องโดยระบุวัตถุปากกาที่มี
// solid brush with blue สีและสี่เหลี่ยมผืนผ้าโดยรอบ
graphic.drawEllipse(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
		new com.aspose.imaging.Rectangle(40, 60, 120, 70));

// บันทึกการเปลี่ยนแปลงทั้งหมด
image.save("draw_ellipse.bmp");

ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน

วาดวงรีใน Java

วาดส่วนโค้งโดยใช้ Java

ต่อไปนี้เป็นขั้นตอนการวาดส่วนโค้งใน Java

  • ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้เมธอด setBitsPerPixel()
  • จากนั้น กำหนด StreamSource โดยใช้วิธี setSource()
  • สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
  • สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
  • ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.clear()
  • วาดส่วนโค้งโดยใช้เมธอด Graphics.drawArc(Pen, float x, float y, float width, float height, float startAngle, float sawAngle)
  • สร้างและบันทึกภาพโดยใช้เมธอด Image.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดส่วนโค้งบนรูปภาพใน Java

// สร้าง BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// สร้างอินสแตนซ์ของ Image และเรียกใช้เมธอด Create โดยผ่าน
// วัตถุ BmpOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// ล้างพื้นผิวภาพด้วยสีขาว
graphic.clear(com.aspose.imaging.Color.getWhite());

// วาดรูปส่วนโค้งประโดยระบุวัตถุปากกาที่มีสีแดงดำ
// สีและพิกัด ความสูง ความกว้าง มุมเริ่มต้นและสิ้นสุด
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// วาดส่วนโค้งไปที่หน้าจอ
graphic.drawArc(new Pen(com.aspose.imaging.Color.getBlack(), 3), 0, 0, width, height, startAngle, sweepAngle);

// บันทึกการเปลี่ยนแปลงทั้งหมด
image.save("draw_arc.bmp");

ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน

วาดส่วนโค้งใน Java

วาดรูปสี่เหลี่ยมผืนผ้าโดยใช้ Java

ต่อไปนี้เป็นขั้นตอนในการวาดสี่เหลี่ยมผืนผ้าใน Java

  • ขั้นแรก สร้างวัตถุของคลาส BmpOptions และตั้งค่าบิตต่อพิกเซลโดยใช้เมธอด setBitsPerPixel()
  • จากนั้น กำหนด StreamSource โดยใช้วิธี setSource()
  • สร้างรูปภาพใหม่และเริ่มต้นด้วยวัตถุ BmpOptions และความสูงและความกว้างของรูปภาพ
  • สร้างวัตถุของคลาส Graphics และเริ่มต้นด้วยวัตถุ Image
  • ล้างพื้นผิวของรูปภาพด้วยสีบางส่วนโดยใช้เมธอด Graphics.clear()
  • วาดสี่เหลี่ยมผืนผ้าโดยใช้เมธอด Graphics.drawRectangle(Pen, Rectangle)
  • สร้างและบันทึกภาพโดยใช้เมธอด Image.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการวาดสี่เหลี่ยมบนรูปภาพใน Java

// สร้าง BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// กำหนดคุณสมบัติต้นทางสำหรับอินสแตนซ์ของ BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// สร้างอินสแตนซ์ของ Image และเรียกใช้เมธอด Create โดยส่งผ่าน
// bmpCreateOptionsวัตถุ
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// สร้างและเริ่มต้นอินสแตนซ์ของคลาสกราฟิก
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// ล้างพื้นผิวภาพด้วยสีขาว
graphic.clear(com.aspose.imaging.Color.getWhite());

// วาดรูปสี่เหลี่ยมผืนผ้าจุดโดยระบุวัตถุปากกาที่มีสีแดง
// สีและโครงสร้างสี่เหลี่ยมผืนผ้า
graphic.drawRectangle(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// วาดรูปสี่เหลี่ยมผืนผ้าต่อเนื่องโดยระบุวัตถุปากกาที่มี
// solid brush with blue สีและโครงสร้างสี่เหลี่ยมผืนผ้า
graphic.drawRectangle(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
		new com.aspose.imaging.Rectangle(40, 60, 120, 70));

// บันทึกการเปลี่ยนแปลงทั้งหมด
image.save("draw_rectangle.bmp");

ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน

วาดรูปสี่เหลี่ยมใน Java

Java Image Drawing API - รับใบอนุญาตฟรี

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

บทสรุป

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

อ่านเพิ่มเติม

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

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