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 區域性變數只定義在區域性範圍內,如 函...