Lập trình đồ họa bằng Java

Hôm nay chúng ta sẽ tìm hiểu những điều cơ bản về lập trình đồ họa trong Java. Chúng ta sẽ đi sâu vào các nguyên tắc cơ bản của việc vẽ các hình cơ bản, thao tác với màu sắc và làm việc với bút. Cho dù bạn đang tạo đồ họa như một phần của dự án hiện tại hay làm nền tảng cho trò chơi hoặc ứng dụng của riêng mình, hãy khám phá cách tạo hình ảnh đẹp một cách dễ dàng bằng lập trình.

Bài viết này bao gồm các chủ đề sau:

  1. Thư viện đồ họa Java
  2. Lập trình đồ họa trong Java
  3. Vẽ đường cong
  4. Đa giác và hình chữ nhật
  5. Cách vẽ đường
  6. Vẽ đường dẫn
  7. Vẽ vùng điền

Thư viện đồ họa Java - Tải xuống miễn phí

Aspose.Bản vẽ là một trong những thư viện đồ họa vector được sử dụng rộng rãi nhất cho lập trình 2D. Chúng tôi sẽ sử dụng API Aspose.draw cho Java để lập trình đồ họa trong Java. Các lập trình viên có thể tận dụng thư viện đa nền tảng này để vẽ văn bản, hình dạng và hình ảnh trong các ứng dụng 2D của họ. Nó cho phép tải, lưu và thao tác các định dạng tệp được hỗ trợ.

Vui lòng tải xuống JAR của API hoặc thêm cấu hình pom.xml sau vào ứng dụng Java dựa trên Maven.

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-drawing</artifactId>
        <version>24.1</version>
    </dependency>
</dependencies>

Lập trình đồ họa bằng Java

Trong Java, chúng ta có thể dễ dàng vẽ nhiều loại hình dạng khác nhau như đường cong, đường thẳng, hình chữ nhật, vùng tô màu, hình elip và đa giác. API cung cấp nhiều phương pháp khác nhau để vẽ những hình dạng này. Chúng ta có thể tạo nhiều loại đồ họa vector khác nhau theo chương trình bằng cách thực hiện theo các bước bên dưới:

  1. Tạo một đối tượng của lớp Bitmap.
  2. Khởi tạo một đối tượng của lớp Graphics từ bitmap.
  3. Xác định đối tượng lớp Pen hoặc SolidBrush với các tham số mong muốn.
  4. Sử dụng (các) phương thức dành riêng cho hình dạng của lớp Graphics để vẽ (các) hình dạng mong muốn.
  5. Cuối cùng, lưu hình ảnh.

Bây giờ, hãy xem cách thực hiện các bước này trong Java.

Vẽ đường cong trong Java

Chúng ta có thể vẽ vòng cung, hình tròn, hình elip hoặc đường cong khép kín bằng cách sử dụng các phương pháp sau:

  • phương thức drawArc() để vẽ một vòng cung.
  • drawEllipse() để vẽ hình elip.
  • drawClosedCurve() để vẽ một đường cong khép kín.
  • phương thức drawCurve() để vẽ đường cong.

Hãy làm theo các bước dưới đây để vẽ các hình cong:

  1. Tạo một thể hiện của lớp Bitmap.
  2. Tạo đối tượng lớp Graphics bằng phương thức fromImage() từ đối tượng Bitmap mới được tạo.
  3. Xác định một đối tượng lớp Pen với màu sắc và kích thước được chỉ định.
  4. Sau đó, gọi phương thức drawClosedCurve() để vẽ một đường cong khép kín.
  5. Tùy chọn lặp lại các bước trên để thêm hình cung và hình elip.
  6. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức save().

Mẫu mã sau đây cho thấy cách vẽ các hình cong trong Java.

// Ví dụ mã này trình bày cách vẽ một đường cong, vòng cung và hình tròn khép kín.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800);

// Khởi tạo đồ họa từ Bitmap
Graphics graphics = Graphics.fromImage(bitmap);

// Xác định bút để vẽ
Pen penBlue = new Pen(Color.getBlue(), 4);

// Vẽ một đường cong
graphics.drawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });

// Vẽ một vòng cung
Pen penRed = new Pen(Color.getRed(), 2);
graphics.drawArc(penRed, 0, 0, 700, 700, 0, 180);

// Vẽ một hình elip
Pen penGreen = new Pen(Color.getGreen(), 2);
graphics.drawEllipse(penGreen, 10, 10, 500, 500);

// Lưu bitmap dưới dạng PNG
bitmap.save("D:\\Files\\Curves.png");
Đường cong trong lập trình đồ họa sử dụng Java

Đường cong trong lập trình đồ họa sử dụng Java

Vẽ đa giác và hình chữ nhật trong Java

Chúng ta có thể vẽ đa giác và hình chữ nhật bằng cách làm theo các bước được đề cập trước đó. Tuy nhiên, chúng ta cần sử dụng các phương pháp sau ở bước 4:

  • drawPolygon() để vẽ đa giác.
  • drawRectangle() để vẽ hình chữ nhật.

Mẫu mã sau đây cho thấy cách vẽ đa giác và hình chữ nhật trong Java.

// Ví dụ mã này trình bày cách vẽ Đa giác và Hình chữ nhật.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800);

// Khởi tạo đồ họa từ Bitmap
Graphics graphics = Graphics.fromImage(bitmap);

// Xác định bút để vẽ
Pen penBlue = new Pen(Color.getBlue(), 4);

// Vẽ một đa giác
graphics.drawPolygon(penBlue, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

// Vẽ một hình chữ nhật
Pen penRed = new Pen(Color.getRed(), 2);
graphics.drawRectangle(penRed, 10, 10, 900, 700);

// Lưu bitmap dưới dạng PNG
bitmap.save("D:\\Files\\Shapes.png");
Tải một hình ảnh trong Bitmap-sử dụng-java

Tải hình ảnh trong Bitmap bằng Java

Vẽ đường trong Java

Tương tự, chúng ta có thể vẽ các đường bằng cách làm theo các bước được đề cập trước đó. Tuy nhiên, chúng ta cần sử dụng phương thức drawLine() ở bước # 4 để vẽ một đường thẳng.

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

// Ví dụ mã này minh họa cách vẽ một Đường.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800);

// Khởi tạo đồ họa từ Bitmap
Graphics graphics = Graphics.fromImage(bitmap);

// Xác định bút để vẽ
Pen pen = new Pen(Color.getBlue(), 4);

// Vẽ các đường
graphics.drawLine(pen, 10, 700, 500, 10);
graphics.drawLine(pen, 500, 10, 990, 700);

// Lưu bitmap dưới dạng PNG
bitmap.save("D:\\Files\\Lines.png");
Các dòng trong lập trình đồ họa bằng Java

Các dòng trong lập trình đồ họa bằng Java

Vẽ đường dẫn trong Java

Các đường dẫn trong đồ họa vector biểu thị một chuỗi các đường thẳng mượt mà được xác định bởi điểm bắt đầu và điểm kết thúc, cùng với các điểm khác. Chúng ta có thể vẽ đường dẫn bằng cách làm theo các bước dưới đây:

  1. Tạo một thể hiện của lớp Bitmap.
  2. Khởi tạo đối tượng lớp Graphics từ đối tượng Bitmap mới được tạo bằng phương thức fromImage().
  3. Xác định một đối tượng lớp Pen với màu sắc và kích thước được chỉ định.
  4. Tạo một thể hiện của lớp GraphicsPath.
  5. Thêm dòng bằng phương thức addLine().
  6. Sau đó, gọi phương thức drawPath() với các đối tượng Pen và GraphicsPath.
  7. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức save().

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

// Ví dụ mã này minh họa cách vẽ Đường dẫn.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800);

// Khởi tạo đồ họa từ Bitmap
Graphics graphics = Graphics.fromImage(bitmap);

// Xác định bút để vẽ
Pen pen = new Pen(Color.getBlue(), 4);

// Khởi tạo đường dẫn đồ họa
GraphicsPath path = new GraphicsPath();

// Thêm dòng 1
path.addLine(100, 100, 1000, 400);

// Thêm dòng 2
path.addLine(1000, 600, 300, 600);

// Thêm hình chữ nhật
path.addRectangle(new Rectangle(500, 350, 200, 400));

// Thêm hình elip
path.addEllipse(10, 250, 450, 300);

// Vẽ một con đường
graphics.drawPath(pen, path);

// Lưu bitmap dưới dạng PNG
bitmap.save("D:\\Files\\Shapes.png");
Đường dẫn lập trình đồ họa sử dụng Java

Đường dẫn lập trình đồ họa sử dụng Java

Vẽ vùng điền trong Java

Chúng ta có thể vẽ một vùng điền bằng cách làm theo các bước dưới đây:

  1. Tạo một thể hiện của lớp Bitmap.
  2. Khởi tạo đối tượng lớp Graphics từ đối tượng Bitmap mới được tạo bằng phương thức fromImage().
  3. Tạo một thể hiện của lớp GraphicsPath.
  4. Thêm đa giác bằng phương thức addPolygon().
  5. Tạo một thể hiện của lớp Vùng.
  6. Thêm một đối tượng GraphicsPath khác và thêm một hình chữ nhật bằng phương thức addRectangle().
  7. Gọi phương thức loại trừ() để loại trừ đường dẫn bên trong khỏi vùng.
  8. Sau đó, xác định đối tượng lớp SolidBrush với màu được chỉ định.
  9. Sau đó, gọi phương thức fillRegion() với các đối tượng SolidBrush và GraphicsPath.
  10. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức save().

Mẫu mã sau đây cho thấy cách vẽ một vùng được điền trong Java.

// Ví dụ mã này minh họa cách vẽ Vùng.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800);

// Khởi tạo đồ họa từ Bitmap
Graphics graphics = Graphics.fromImage(bitmap);

// Thêm một đa giác
GraphicsPath path = new GraphicsPath();
path.addPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

// Khởi tạo một vùng
Region region = new Region(path);

// Đường dẫn đồ họa bên trong
GraphicsPath innerPath = new GraphicsPath();

// Thêm hình chữ nhật
innerPath.addRectangle(new Rectangle(300, 300, 400, 200));

// Loại trừ đường dẫn bên trong
region.exclude(innerPath);

// Xác định một bàn chải rắn
Brush brush = new SolidBrush(Color.getBlue());

// Điền vào vùng
graphics.fillRegion(brush, region);

// Lưu bitmap dưới dạng PNG
bitmap.save("D:\\Files\\FillRegion.png");
Điền vùng trong lập trình đồ họa bằng Java

Điền vùng trong lập trình đồ họa bằng 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í để dùng thử Aspose.draw cho Java mà không bị giới hạn về đánh giá.

Lập trình đồ họa bằng Java – Tài nguyên miễn phí

Bên cạnh việc vẽ các đường, đường dẫn và hình chữ nhật, bạn có thể khám phá nhiều tính năng khác của thư viện bằng cách sử dụng các tài nguyên bên dưới:

Phần kết luận

Trong bài viết này, chúng ta đã tìm hiểu những điều cơ bản về lập trình đồ họa trong Java bằng Aspose.draw cho Java. Chúng ta đã thấy cách vẽ hình chữ nhật, hình elip, đường thẳng và đường dẫn theo chương trình trong Java. Chúng tôi cũng đã học cách tạo và lưu hình ảnh bitmap dưới dạng hình ảnh PNG. Bằng cách làm theo các bước được nêu trong bài viết này và các ví dụ về mã được cung cấp, bạn có thể tạo đồ họa vector tuyệt đẹp trong các ứng dụng Java của mình. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm