歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java Graphics2D 畫圖

Java Graphics2D 畫圖

日期:2017/3/1 9:19:23   编辑:Linux編程

在Java中,當需要畫一些特殊的形狀時,比如說橢圓、矩形等,可以使用 Graphics2D 來繪圖。

一些API:

g.drawLine(3,3,50,50);//畫一條線段
g.drawRect(80,100,40,25);//畫線框
g.drawOval(10,10,60,120);//畫橢圓

//畫多邊形
int px1[]={50,90,10,50};//首末點相重,才能畫多邊形
int py1[]={10,50,50,10};
g.setColor(Color.blue);
g.fillPolygon(px1,py1,4);

關於畫圖的更多內容,可以參考網上的一些介紹,或者官方API。

Graphics2D 對象中有個函數是 translate(x,y),該函數的功能如下:

將橢圓的原點移動到 (x,y)。

該函數和 rotate函數結合使用,可以實現將一個圖形繞一個點旋轉。

g2.rotate(Math.PI * rotate / 180.0); //注意該函數是繞著橢圓的原點旋轉

比如說,將一個水平的橢圓繞著橢圓的中心點旋轉一個角度,需要先將橢圓的原點移動到一個位置,然後再繞著新的原點旋轉,示意圖如下:

新原點的坐標可以根據水平狀態下原點的坐標以及旋轉的角度算出來。需要注意的是:先移動原點,然後再旋轉,順序不能亂。

示例代碼:

Graphics2D g2 = (Graphics2D)g.create();
g2.setColor(Color.red);
g2.translate(translateX, translateY);
g2.rotate(Math.PI * rotate / 180.0);
g2.drawOval(0, 0, ovalWidth - 1, ovalHeight - 1);
g2.translate(-translateX, -translateY);
g2.dispose();

Copyright © Linux教程網 All Rights Reserved