今天,我們將學習Java圖形程式設計的基礎知識。我們將深入研究繪製基本形狀、操縱顏色和使用鋼筆的基礎知識。無論您是創建圖形作為當前專案的一部分還是作為您自己的遊戲或應用程式的基礎,讓我們探索如何以程式設計方式輕鬆創建美麗的視覺效果。
本文涵蓋以下主題:
Java 圖形庫 - 免費下載
Aspose.Drawing 是用於 2D 程式設計的最廣泛使用的向量圖庫之一。我們將使用 Aspose.Drawing for Java API 在 Java 中進行圖形程式設計。程式設計師可以利用這個跨平台庫在其 2D 應用程式中繪製文字、形狀和圖像。它允許載入、儲存和操作支援的檔案格式。
請下載 API 的 JAR 或在基於 Maven 的 Java 應用程式中新增以下 pom.xml 配置。
<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>
Java 圖形程式設計
在Java中,我們可以輕鬆地繪製各種類型的形狀,例如曲線、直線、矩形、填充區域、橢圓形和多邊形。 API 提供了各種方法來繪製這些形狀。我們可以按照以下步驟以程式設計方式創建各種不同的向量圖形:
- 建立 Bitmap 類別的物件。
- 從點陣圖初始化 Graphics 類別的物件。
- 使用所需參數定義 Pen 或 SolidBrush 類別物件。
- 使用 Graphics 類別的特定於形狀的方法來繪製所需的形狀。
- 最後,儲存圖像。
現在,讓我們看看如何在 Java 中執行這些步驟。
用Java繪製曲線
我們可以使用以下方法繪製圓弧、圓、橢圓或閉合曲線:
- 使用drawArc()方法繪製圓弧。
- drawEllipse() 方法繪製橢圓。
- drawClosedCurve() 方法繪製閉合曲線。
- 使用drawCurve()方法繪製曲線。
請依照以下步驟繪製曲線形狀:
- 建立 Bitmap 類別的實例。
- 使用 fromImage() 方法從新建立的 Bitmap 物件建立 Graphics 類別物件。
- 定義具有指定顏色和大小的 Pen 類別物件。
- 之後,呼叫drawClosedCurve()方法繪製一條閉合曲線。
- 或者,重複上述步驟以添加圓弧和橢圓。
- 最後,使用 save() 方法儲存輸出影像。
以下程式碼範例展示如何在 Java 中繪製曲線形狀。
// 此程式碼範例示範如何繪製閉合曲線、圓弧和圓。
// 建立點陣圖
Bitmap bitmap = new Bitmap(1000, 800);
// 從點陣圖初始化圖形
Graphics graphics = Graphics.fromImage(bitmap);
// 定義畫筆
Pen penBlue = new Pen(Color.getBlue(), 4);
// 畫一條曲線
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) });
// 畫一條圓弧
Pen penRed = new Pen(Color.getRed(), 2);
graphics.drawArc(penRed, 0, 0, 700, 700, 0, 180);
// 畫一個橢圓
Pen penGreen = new Pen(Color.getGreen(), 2);
graphics.drawEllipse(penGreen, 10, 10, 500, 500);
// 將點陣圖另存為 PNG
bitmap.save("D:\\Files\\Curves.png");
在 Java 中繪製多邊形和矩形
我們可以按照前面提到的步驟來繪製多邊形和矩形。然而,我們在第4步中需要使用以下方法:
- drawPolygon() 方法用於繪製多邊形。
- 繪製矩形的drawRectangle()方法。
以下程式碼範例展示如何在 Java 中繪製多邊形和矩形。
// 此程式碼範例示範如何繪製多邊形和矩形。
// 建立點陣圖
Bitmap bitmap = new Bitmap(1000, 800);
// 從點陣圖初始化圖形
Graphics graphics = Graphics.fromImage(bitmap);
// 定義畫筆
Pen penBlue = new Pen(Color.getBlue(), 4);
// 繪製多邊形
graphics.drawPolygon(penBlue, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });
// 畫一個矩形
Pen penRed = new Pen(Color.getRed(), 2);
graphics.drawRectangle(penRed, 10, 10, 900, 700);
// 將點陣圖另存為 PNG
bitmap.save("D:\\Files\\Shapes.png");
用Java畫線
同樣,我們可以按照前面提到的步驟來繪製線條。然而,我們需要使用步驟#4中的drawLine()方法來繪製一條線。
以下程式碼範例展示如何在 Java 中繪製線條。
// 此程式碼範例示範如何繪製一條線。
// 建立點陣圖
Bitmap bitmap = new Bitmap(1000, 800);
// 從點陣圖初始化圖形
Graphics graphics = Graphics.fromImage(bitmap);
// 定義畫筆
Pen pen = new Pen(Color.getBlue(), 4);
// 畫線
graphics.drawLine(pen, 10, 700, 500, 10);
graphics.drawLine(pen, 500, 10, 990, 700);
// 將點陣圖另存為 PNG
bitmap.save("D:\\Files\\Lines.png");
在 Java 中繪製路徑
向量圖形中的路徑表示由起點和終點以及其他點定義的一系列平滑直線。我們可以按照以下步驟繪製路徑:
- 建立 Bitmap 類別的實例。
- 使用 fromImage() 方法從新建立的 Bitmap 物件初始化 Graphics 類別物件。
- 定義具有指定顏色和大小的 Pen 類別物件。
- 建立 GraphicsPath 類別的實例。
- 使用 addLine() 方法新增一行。
- 之後,使用 Pen 和 GraphicsPath 物件呼叫 drawPath() 方法。
- 最後,使用 save() 方法儲存輸出影像。
以下程式碼範例展示如何在 Java 中繪製路徑。
// 此程式碼範例示範如何繪製路徑。
// 建立點陣圖
Bitmap bitmap = new Bitmap(1000, 800);
// 從點陣圖初始化圖形
Graphics graphics = Graphics.fromImage(bitmap);
// 定義畫筆
Pen pen = new Pen(Color.getBlue(), 4);
// 初始化圖形路徑
GraphicsPath path = new GraphicsPath();
// 新增第 1 行
path.addLine(100, 100, 1000, 400);
// 新增第 2 行
path.addLine(1000, 600, 300, 600);
// 添加矩形
path.addRectangle(new Rectangle(500, 350, 200, 400));
// 加入橢圓
path.addEllipse(10, 250, 450, 300);
// 畫一條路徑
graphics.drawPath(pen, path);
// 將點陣圖另存為 PNG
bitmap.save("D:\\Files\\Shapes.png");
在Java中繪製填充區域
我們可以按照以下步驟繪製填充區域:
- 建立 Bitmap 類別的實例。
- 使用 fromImage() 方法從新建立的 Bitmap 物件初始化 Graphics 類別物件。
- 建立 GraphicsPath 類別的實例。
- 使用 addPolygon() 方法新增多邊形。
- 建立 Region 類別的實例。
- 新增另一個 GraphicsPath 物件並使用 addRectangle() 方法新增一個矩形。
- 呼叫 except() 方法從區域排除內部路徑。
- 然後,定義具有指定顏色的 SolidBrush 類別物件。
- 之後,使用 SolidBrush 和 GraphicsPath 物件呼叫 fillRegion() 方法。
- 最後,使用 save() 方法儲存輸出影像。
以下程式碼範例展示如何在 Java 中繪製填滿區域。
// 此程式碼範例示範如何繪製區域。
// 建立點陣圖
Bitmap bitmap = new Bitmap(1000, 800);
// 從點陣圖初始化圖形
Graphics graphics = Graphics.fromImage(bitmap);
// 添加多邊形
GraphicsPath path = new GraphicsPath();
path.addPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });
// 初始化一個區域
Region region = new Region(path);
// 內部圖形路徑
GraphicsPath innerPath = new GraphicsPath();
// 新增一個矩形
innerPath.addRectangle(new Rectangle(300, 300, 400, 200));
// 排除內部路徑
region.exclude(innerPath);
// 定義實心畫筆
Brush brush = new SolidBrush(Color.getBlue());
// 填充區域
graphics.fillRegion(brush, region);
// 將點陣圖另存為 PNG
bitmap.save("D:\\Files\\FillRegion.png");
取得免費許可證
您可以獲得免費的臨時許可證來嘗試 Aspose.Drawing for Java,而不受評估限制。
Java 圖形程式設計 – 免費資源
除了繪製線條、路徑和矩形之外,您還可以使用下列資源來探索該程式庫的各種其他功能:
結論
在本文中,我們學習了使用 Aspose.Drawing for Java 進行 Java 圖形程式設計的基礎知識。我們已經了解如何在 Java 中以程式設計方式繪製矩形、橢圓形、直線和路徑。我們也學習如何建立點陣圖影像並將其儲存為 PNG 影像。透過遵循本文中概述的步驟和提供的程式碼範例,您可以在 Java 應用程式中創建令人驚嘆的向量圖形。如有任何疑問,請隨時透過我們的免費支援論壇與我們聯繫。