2021-05-12 14:32:11
Java如何加粗所繪圖形線條
我之前在經驗中分享了繪製一個可愛的笑臉。可是,回頭怎麼看怎麼覺得少了點兒什麼。的確,線條太細太淡了。那麼,怎麼加粗線條呢?
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號字型。
接下來,執行一下,畫得還不錯吧?
那麼,請投上您的一票吧?謝謝大家鼓勵!
相關文章