每日小結130928

2021-09-01 19:54:31 字數 4927 閱讀 1096

1、繪製直線、矩形、橢圓等圖形的兩種**

(1)常用**

g.drawline(70, 50, 180, 50);

g.drawrect(30, 40, 80, 60);

g.drawoval(30, 20, 80, 50);

(2)另外一種**

graphics2d g2 = (graphics2d)g; // 獲得graphics2d物件

line2d.float line = new line2d.float(50,50,240,50);// 建立直線物件

g2.drawstring("平頭樣式", 120, 40); // 繪製文字

g2.draw(line);// 繪製直線

rectangle2d.float rect = new rectangle2d.float(20,60,80,50);// 建立矩形物件

g2.draw(rect);// 繪製矩形

ellipse2d.float ellipse=new ellipse2d.float(30, 20, 80, 50);//建立橢圓物件

g2.draw(ellipse);//繪製橢圓

2、繪製多邊形

int x1 = ; // 多邊形的橫座標

int y1 = ; // 多邊形的縱座標

int n1 = 10;// 多邊形的邊數

g.fillpolygon(x1, y1, n1);// 繪製多邊形

3、繪製二次曲線

//強制轉型為2d物件

graphics2d g2=(graphics2d)g;

//建立二次曲線,其中點120,40是控制點,點60,120是起始點座標,點180,120是終點座標

quadcurve2d.double quadcurve2 = new quadcurve2d.double(60,120,120,40,180,120);

g2.draw(quadcurve2); // 繪製二次曲線

4、繪製三次曲線

graphics2d g2=(graphics2d)g;// 獲得graphics2d物件

// 建立三次曲線,其中點140,-140和點140,300是控制點,點20,80是起始點座標,點260,80是終點座標

cubiccurve2d.double cubiccurve = new cubiccurve2d.double(20,80,140,-140,140,300,260,80);

g2.draw(cubiccurve); // 繪製三次曲線

5、繪製文字

string value = "靜夜思";

int x = 120; // 文字位置的橫座標

int y = 30; // 文字位置的縱座標

g.drawstring(value, x, y); // 繪製文字

6、設定字型

font font1 = new font("華文行楷", font.bold + font.italic, 26); // 建立字型物件

g.setfont(font1); // 設定字型

7、設定粗細

graphics2d g2 = (graphics2d)g; // 獲得graphics2d物件

basicstroke stroke = new basicstroke(1); // 建立寬度是1的筆畫物件

g2.setstroke(stroke);// 設定筆畫物件

8、設定筆畫樣式

graphics2d g2 = (graphics2d)g; // 獲得graphics2d物件

basicstroke stroke = new basicstroke(10,basicstroke.cap_butt,basicstroke.join_bevel); // 建立寬度是10的平頭筆畫物件

g2.setstroke(stroke);// 設定筆畫物件

line2d.float line = new line2d.float(50,50,240,50);// 建立直線物件

g2.drawstring("平頭樣式", 120, 40); // 繪製文字

g2.draw(line);// 繪製直線

stroke = new basicstroke(10,basicstroke.cap_round,basicstroke.join_bevel); // 建立寬度是10的圓頭筆畫物件

g2.setstroke(stroke);// 設定筆畫物件

line = new line2d.float(50,90,240,90);// 建立直線物件

g2.drawstring("圓頭樣式", 120, 80); // 繪製文字

g2.draw(line);// 繪製直線

stroke = new basicstroke(10,basicstroke.cap_square,basicstroke.join_bevel); // 建立寬度是10的方頭筆畫物件

g2.setstroke(stroke);// 設定筆畫物件

line = new line2d.float(50,130,240,130);// 建立直線物件

g2.drawstring("方頭樣式", 120, 120); // 繪製文字

g2.draw(line);// 繪製直線

結果示意圖:

9、設定連線方式

graphics2d g2 = (graphics2d)g; // 獲得graphics2d物件

basicstroke stroke = new basicstroke(10,basicstroke.cap_butt,basicstroke.join_bevel); // 建立寬度是10的平頭斜角連線筆畫物件

g2.setstroke(stroke);// 設定筆畫物件

rectangle2d.float rect = new rectangle2d.float(20,60,80,50);// 建立矩形物件

g2.drawstring("斜角連線", 35, 50); // 繪製文字

g2.draw(rect);// 繪製矩形

stroke = new basicstroke(10,basicstroke.cap_butt,basicstroke.join_miter); // 建立寬度是10的平頭尖角連線筆畫物件

g2.setstroke(stroke);// 設定筆畫物件

rect = new rectangle2d.float(120,60,80,50);// 建立矩形物件

g2.drawstring("尖角連線", 135, 50); // 繪製文字

g2.draw(rect);// 繪製矩形

stroke = new basicstroke(10,basicstroke.cap_butt,basicstroke.join_round); // 建立寬度是10的平頭圓角連線筆畫物件

g2.setstroke(stroke);// 設定筆畫物件

rect = new rectangle2d.float(220,60,80,50);// 建立矩形物件

g2.drawstring("圓角連線", 235, 50); // 繪製文字

g2.draw(rect);// 繪製矩形

結果示意圖:

10、縮放圖形

g2.scale(1.3, 1.3);// 放大1.3倍

g2.draw(rect);// 繪製矩形

11、旋轉圖形

g2.rotate(0.2);// 順時針旋轉

g2.draw(rect);// 繪製矩形

12、斜切圖形

g2.shear(0.2,0.2);// 向下斜切

g2.draw(rect);// 繪製矩形

13、為圖形填充漸變色

// 建立迴圈漸變的graphientpaint物件

//x1 - 使用者空間中第乙個指定 point 的 x 座標

// y1 - 使用者空間中第乙個指定 point 的 y 座標

// color1 - 第乙個指定 point 處的 color

// x2 - 使用者空間中第二個指定 point 的 x 座標

// y2 - 使用者空間中第二個指定 point 的 y 座標

// color2 - 第二個指定 point 處的 color

// cyclic - 如果漸變模式在兩種顏色之間重複迴圈,則為 true;否則為 false。

gradientpaint paint = new gradientpaint(20,20,color.blue,100,80,color.red,true);

g2.setpaint(paint);// 設定漸變

g2.fill(rect);// 繪製矩形

結果示意圖:

7 1 每日小結

1.安卓中的 nullable 和 nonnull 注釋有啥作用?1 用來 標記方法 是否 能傳入 null 值。2 如果可以傳入 null 值,則標記 nullable 否則就標記 nonnull.3 在我們做了一些 不安全的 不嚴謹的編碼操作的時候,這些注釋會給我們一些警告。2.關於活動 act...

每日小結8 27

這周開始學習c 中陣列問題,剛開始學感覺有點吃力,剛學了一維陣列和二維陣列,對於定義陣列還不能夠熟練定義,不能夠熟練使用,下面記一些在寫程式時的一些方法 學會使用split 的方法分隔內容,然後組成一維陣列 contains的用法來判斷內容,其返回內容是bool型別的true和false,下面就是通...

每日學習小結 20190716

20190716 1 區域性變數和成員變數的區別 成員變數 1 成員變數定義在類中,在整個類中都可以被訪問。2 成員變數隨著物件的建立而建立,隨著物件的消失而消失,存在於物件所在的堆記憶體中。堆記憶體和棧記憶體的區別 3 成員變數有預設初始化值。區域性變數 1 區域性變數只定義在區域性範圍內,如 函...