矩形とは長方形のことです
矩形を描くにも円や線と同様にPaintクラスで描写します
矩形はdrawRectを使用して
(始点のx座標 , 始点のy座標 , 終点のx座標 , 終点のy座標 , paint)
を指定します
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//この間にグラフィック描画のコードを記述する
Paint paint = new Paint();
//色を設定
paint.setColor(Color.GRAY);
//線の太さを指定
paint.setStrokeWidth(5);
// 線で矩形を描く
paint.setStyle(Paint.Style.STROKE);
canvas.drawRect(50, 50, 200, 100, paint);
// 矩形の内部を塗りつぶす
paint.setStyle(Paint.Style.FILL);
canvas.drawRect(250, 50, 350, 100, paint);
//終了
}
setStyleで線のみか、内部を塗りつぶすか、線で描く内部を塗りつぶすかを指定するのは円と変わりません
ちなみに線で円を描き内部を塗りつぶすには
paint.setStyle(Paint.Style.STROKE);を使用します
角の丸い矩形を描く
角の丸い矩形を作るにはdrawRoundRectを使用します
RectF(始点のx座標 , 始点のy座標 , 終点のx座標 , 終点のy座標)
でまず座標を指定し(これをdrawRectで使用することも可能)
つぎにdrawRoundRectで座標と角の丸みを指定します
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//この間にグラフィック描画のコードを記述する
Paint paint = new Paint();
//色を設定
paint.setColor(Color.LTGRAY);
//線の太さを指定
paint.setStrokeWidth(5);
// 線で矩形を描く
paint.setStyle(Paint.Style.STROKE);
//表示する座標指定
RectF rect = new RectF(50, 50, 200, 100);
canvas.drawRoundRect(rect, 40,10,paint);
// 矩形の内部を塗りつぶす
paint.setStyle(Paint.Style.FILL);
//表示する座標指定
rect = new RectF(250, 50, 350, 100);
canvas.drawRoundRect(rect, 10,40,paint);
//終了
}
drawRoundRectでは
(座標 , 丸み始めるx座標 , 丸み始めるy座標 , paint)としています
スポンサードリンク


