2011年3月6日日曜日

Androidその10 ~図形の描画2~

どうも、69です。



早速 図形の描画 の解説です。

では↓


*****GraphicsEx.java**********************************

この辺は

HelloWorld
文字列の描画

同じなので省略です。

***************************************************

*****GraphicsView.java********************************

//paintオブジェクトの生成
Paint paint=new Paint();→Paintクラスからpaintオブジェクトの生成
paint.setAntiAlias(true);→アンチエイリアス有効化

//ラインの描画
paint.setStrokeWidth(1);→ライン幅の指定。()で幅を指定
paint.setStyle(Paint.Style.STROKE);→描画スタイル。STROKE→ライン
paint.setColor(Color.argb(255, 255, 0, 0));→色指定
canvas.drawLine(50,10,50,10+80,paint);→ラインの描画。()は開始X,開始Y,終点X,終点Y

//パスの描画
paint.setStyle(Paint.Style.STROKE);→描画スタイル
paint.setColor(Color.argb(255, 255, 0, 0));→色指定
Path path=new Path();→Pathクラスからpathオブジェクトの生成
path.moveTo(100+ 0,10+ 0);→パスの開始地点の指定。()はX,Y
path.lineTo(110+60, 10+10);→ラインの追加。前の地点の終点から()内座標まで。()はX,Y
path.lineTo(110+20,10+40);→Xは170⇒130、Yは20⇒50までラインの追加
path.lineTo(110+80,10+50);
path.lineTo(110+0, 10+80);
canvas.drawPath(path, paint);→パスの描画

//四角形の描画
paint.setStyle(Paint.Style.STROKE);→描画スタイル
paint.setColor(Color.argb(255,0,0,255));→色指定
canvas.drawRect(new Rect(10+0,100+0,10+80,100+80),paint);→四角形の描画とRectオブジェクトを生成(コンストラクタ)

//四角形の塗りつぶし
paint.setStyle(Paint.Style.FILL);→描画スタイル。FILL→塗りつぶし。FILL_AND_STROKE→塗りつぶし+ライン
paint.setColor(Color.argb(255, 0, 0, 255));→色指定
canvas.drawRect(new Rect(110+0,100+0,110+80,100+80), paint);→四角形の描画とRectオブジェクトを生成(コンストラクタ)

//角丸矩形の描画
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.argb(255, 0, 255, 0));
canvas.drawRoundRect(new RectF(10+0,200+0,10+80,200+80),20,20, paint);→角丸矩形の描画とRectFオブジェクトの生成(コンストラクタ)

//角丸矩形の塗りつぶし
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.argb(255,0,255,0));
canvas.drawRoundRect(new RectF(110+0,200+0,110+80,200+80),20,20,paint);→角丸矩形の描画

//円の描画
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.argb(255, 255, 255, 0));
canvas.drawCircle(50,340,40,paint);→円の描画

//円の塗りつぶし
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.argb(255, 255, 255, 0));
canvas.drawCircle(150,340,40,paint);→円の描画

*****主に利用したクラス**********************************

import android.content.Context;
import android.graphics.Canvas;
void drawLine(int X,int Y ,int X1,int Y1,Paint paint)→始点(X,Y)⇒終点(X1,Y1)までのラインの描画
void drawRect(Rect rect,Paint paint)→四角形の描画。rectは四角形情報(Rectクラス参照)
void drawRoundRect(RectF rectf,float rX,float rY,Paint paint)→角丸矩形の描画。rectは四角形情報。rXはコーナーのX半径。rYはコーナーのY半径。
void drawCircle(float cX,float cY,float radius,Paint paint)→円の描画。cXは中心点のX座標。cYは中心点のY座標。radiusは半径
import android.graphics.Paint;
void setStrokeWidth(float width)→ライン幅の指定。引数がライン幅
void setStyle(Paint.Style style)→描画スタイルの指定。引数がスタイル
void drawPath(Path path,Paint paint)→パスの描画。引数がパス情報、描画オブジェクト
import android.graphics.Path;
void moveTo(float X,float Y)→パスの開始点の指定。引数はX座標、Y座標
void lineTo(float X,float Y)→終点からのラインの追加。引数はX座標、Y座標
import android.graphics.Rect;
Rect(int left,int top, int right,int bottom)→Rectクラスのコンストラクタ。leftは四角形の左上X座標、topは左上Y座標、rightは右下X座標、bottomは右下Y座標
import android.graphics.RectF;
Rect(float left,float top,float right,float bottom)→RectFクラスのコンストラクタ。leftは四角形の左上X座標、topは左上Y座標、rightは右下X座標、bottomは右下Y座標
import android.view.View;

***************************************************

です。

その他にもたくさんのcanvasクラスの図形がありそうなので
いろいろ調べてみてください。

おしまい。

0 件のコメント:

コメントを投稿