Vẽ hình trong Java

Trong một số trường hợp nhất định, bạn có thể cần tạo các đối tượng khác nhau bằng cách vẽ các hình dạng như hình tròn, đường thẳng, hình chữ nhật, v.v. Ngoài ra, bạn có thể phải vẽ các hình dạng này trên hình ảnh để chú thích. Trong bài viết này, bạn sẽ học cách vẽ các hình dạng theo lập trình trong Java. Đặc biệt, bạn sẽ học cách vẽ đường thẳng, hình elip, cung tròn và hình chữ nhật và tạo hình ảnh của chúng.

Java API để vẽ hình - Tải xuống miễn phí

Để vẽ các hình dạng và tạo hình ảnh đầu ra, chúng tôi sẽ sử dụng Aspose.Imaging for Java. Đây là một API chỉnh sửa hình ảnh mạnh mẽ cung cấp một loạt các tính năng để thao tác trên hình ảnh và tạo bản vẽ. Bạn có thể tải xuống API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.

<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>

Vẽ một đường bằng Java

Sau đây là các bước để vẽ một đoạn thẳng trong Java.

Mẫu mã sau đây cho thấy cách vẽ một đường thẳng trong Java.

// Tạo BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Xác định thuộc tính nguồn cho phiên bản BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Tạo một phiên bản của Image và gọi phương thức tạo bằng cách chuyển
// đối tượng bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 500, 500);

// Tạo và khởi tạo một phiên bản của lớp Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Làm rõ bề mặt hình ảnh với màu Trắng
graphic.clear(com.aspose.imaging.Color.getWhite());

// Vẽ một đường chấm bằng cách chỉ định đối tượng Pen có màu xanh lam và
// điểm phối hợp
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);

// Vẽ một đường liên tục bằng cách chỉ định đối tượng Pen có Solid
// Chải với màu đỏ và cấu trúc hai điểm
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));

// Vẽ một đường liên tục bằng cách chỉ định đối tượng Pen có Solid
// Bàn chải với màu trắng và cấu trúc hai điểm
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));

// Lưu tất cả các thay đổi
image.save("draw_lines.bmp");

Sau đây là kết quả của mẫu mã trên.

vẽ đường trong Java

Vẽ hình elip bằng Java

Sau đây là các bước để vẽ một hình elip trong Java.

  • Đầu tiên, tạo một đối tượng của lớp BmpOptions và đặt các bit trên mỗi pixel bằng phương thức setBitsPerPixel().
  • Sau đó, chỉ định StreamSource bằng phương thức setSource().
  • Tạo một hình ảnh mới và khởi tạo nó với đối tượng BmpOptions và chiều cao và chiều rộng của hình ảnh.
  • Tạo một đối tượng của lớp Đồ họa và khởi tạo nó bằng đối tượng Hình ảnh.
  • Xóa bề mặt của hình ảnh với một số màu bằng phương pháp Graphics.clear().
  • Vẽ một hình elip bằng phương pháp Graphics.drawEllipse (Pen, Rectangle).
  • Tạo và lưu hình ảnh bằng phương thức Image.save().

Mẫu mã sau đây cho thấy cách vẽ một hình elip trên một hình ảnh trong Java.

// Tạo BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Xác định thuộc tính nguồn cho phiên bản BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Tạo một phiên bản của Image và gọi phương thức tạo bằng cách chuyển
// đối tượng bmpCreateOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Tạo và khởi tạo một phiên bản của lớp Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Làm rõ bề mặt hình ảnh với màu Trắng
graphic.clear(com.aspose.imaging.Color.getWhite());

// Vẽ một hình elip có dấu chấm bằng cách chỉ định đối tượng Pen có màu đỏ
// màu sắc và một Hình chữ nhật xung quanh
graphic.drawEllipse(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// Vẽ một hình elip liên tục bằng cách chỉ định đối tượng Pen có
// solid brush with blue màu sắc và một Hình chữ nhật xung quanh
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));

// Lưu tất cả các thay đổi
image.save("draw_ellipse.bmp");

Sau đây là kết quả của mẫu mã trên.

vẽ hình elip trong Java

Vẽ Arc bằng Java

Sau đây là các bước để vẽ một cung tròn trong Java.

Mẫu mã sau đây cho thấy cách vẽ một vòng cung trên một hình ảnh trong Java.

// Tạo BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Xác định thuộc tính nguồn cho phiên bản BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Tạo một phiên bản của Image và gọi phương thức Create bằng cách chuyển
// Đối tượng BmpOptions
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Tạo và khởi tạo một phiên bản của lớp Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Làm rõ bề mặt hình ảnh với màu Trắng
graphic.clear(com.aspose.imaging.Color.getWhite());

// Vẽ một hình cung có chấm bằng cách chỉ định đối tượng Pen có màu đỏ đen
// màu và tọa độ, chiều cao, chiều rộng, góc bắt đầu và kết thúc
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Vẽ vòng cung ra màn hình
graphic.drawArc(new Pen(com.aspose.imaging.Color.getBlack(), 3), 0, 0, width, height, startAngle, sweepAngle);

// Lưu tất cả các thay đổi
image.save("draw_arc.bmp");

Sau đây là kết quả của mẫu mã trên.

vẽ vòng cung bằng Java

Vẽ hình chữ nhật bằng Java

Sau đây là các bước để vẽ một hình chữ nhật trong Java.

  • Đầu tiên, tạo một đối tượng của lớp BmpOptions và đặt các bit trên mỗi pixel bằng phương thức setBitsPerPixel().
  • Sau đó, chỉ định StreamSource bằng phương thức setSource().
  • Tạo một hình ảnh mới và khởi tạo nó với đối tượng BmpOptions và chiều cao và chiều rộng của hình ảnh.
  • Tạo một đối tượng của lớp Đồ họa và khởi tạo nó bằng đối tượng Hình ảnh.
  • Xóa bề mặt của hình ảnh với một số màu bằng phương pháp Graphics.clear().
  • Vẽ hình chữ nhật bằng phương pháp Graphics.drawRectangle (Pen, Rectangle).
  • Tạo và lưu hình ảnh bằng phương thức Image.save().

Mẫu mã sau đây cho thấy cách vẽ một hình chữ nhật trên một hình ảnh trong Java.

// Tạo BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// Xác định thuộc tính nguồn cho phiên bản BmpOptions
bmpCreateOptions.setSource(new StreamSource());

// Tạo một phiên bản của Image và gọi phương thức Create bằng cách chuyển
// bmpCreateOptionsobject
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// Tạo và khởi tạo một phiên bản của lớp Graphics
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// Làm rõ bề mặt hình ảnh với màu Trắng
graphic.clear(com.aspose.imaging.Color.getWhite());

// Vẽ một hình chữ nhật có dấu chấm bằng cách chỉ định đối tượng Pen có màu đỏ
// màu sắc và cấu trúc hình chữ nhật
graphic.drawRectangle(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// Vẽ một hình chữ nhật liên tục bằng cách chỉ định đối tượng Pen có
// solid brush with blue màu sắc và cấu trúc hình chữ nhật
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));

// Lưu tất cả các thay đổi
image.save("draw_rectangle.bmp");

Sau đây là kết quả của mẫu mã trên.

vẽ hình chữ nhật trong Java

API vẽ hình ảnh Java - Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí và vẽ các hình dạng mà không có giới hạn đánh giá.

Sự kết luận

Trong bài này, bạn đã học cách vẽ hình trong Java. Chúng tôi đã trình bày cách vẽ đường thẳng, hình elip, cung tròn và hình chữ nhật trên hình ảnh theo chương trình. Bạn có thể dễ dàng tích hợp các mẫu mã được cung cấp vào các ứng dụng Java của mình.

Đọc thêm

Bạn có thể khám phá thêm về API xử lý hình ảnh Java bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể chia sẻ các thắc mắc của mình với chúng tôi qua diễn đàn của chúng tôi.

Xem thêm