首頁 > 軟體

Java如何加粗所繪圖形線條

2019-12-10 04:21:31

我之前在經驗中分享了繪製一個可愛的笑臉。可是,回頭怎麼看怎麼覺得少了點兒什麼。的確,線條太細太淡了。那麼,怎麼加粗線條呢?


1

首先,我們打算畫一個原始的笑臉出來。我們這裡用的是java小程式。也就是說,這裡的應用程式是Applet的。在已有工程或者建立一個工程的基礎上,我們新建一個包,在這個包內,建立一個類,我命名為HappySmile,大家隨意。


2

通過重寫父類別方法paint()來完成繪圖。

其中,重要的是,圓臉蛋是一個絕對的空心圓,倆眼睛是一對兒實心橢圓,微笑呢,是一段圓弧。

程式碼是:

// Draw a circle.

canvas.drawOval(100, 50, 200, 200);

// Draw one eye.

canvas.fillOval(155, 100, 10, 20);

// Draw another eye.

canvas.fillOval(230, 100, 10, 20);

// Draw a smile.

canvas.drawArc(150, 160, 100, 50, 180, 180);

然後,我們新增了文字在左上角。而且改變了笑臉的顏色為品紅色,更為漂亮一些。


3

那麼,先執行一下看看吧?

妳瞧,的確是有點兒單薄,不是麼?接下來才是我要講的,如何將線條加粗,使之更漂亮些。


4

在重寫這個方法的第一行,我們新增這樣一行程式碼:

  super.paint(canvas);

雖然有的人覺得是多餘的,我倒不這麼認為。我覺得,這是規範。

然後,重中之重:

  Graphics2D g2d = (Graphics2D) canvas;

這樣操作之後,將基本的繪圖強轉為2D繪圖,增加了許多實用的功能。其中,線條的粗細便是其中必不可少的一部分。

  g2d.setStroke(new BasicStroke(3f));

這一條就是將原有線條的粗細放大為原來的三倍大小。瞧,不錯了吧?


5

最後,我們來一個小插曲,把文字也放大,並且把文字的字型改為斜體。

我們這麼寫:

  canvas.setFont(getFont().deriveFont(Font.ITALIC, 20f));

其中,set是設定,get是獲取預設字型,然後通過deriveFont的方法將字型設定為斜體,並且大小設定為20號字型。

接下來,執行一下,畫得還不錯吧?

那麼,請投上您的一票吧?謝謝大家鼓勵!



IT145.com E-mail:sddin#qq.com