Goodroid

GoodroidはAndroidアプリ開発のための情報をコラムやブログで紹介するサイトです。


Canvasに円を絵画する
ここではCanvasに円を絵画する方法を確認していきます。

サンプルコードではアクティビティに円を絵画するビューを追加して表示してます。アクティビティにビューを追加するにはActivityクラスで用意されている「setContentView」メソッドを使います。

CircleActivity.java
package goodroid.sample.circle;

import goodroid.sample.circle.MyView;
import android.app.Activity;
import android.os.Bundle;

public class CircleActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // 作成したビューオブジェクトを生成
        MyView myView = new MyView(this);

        // 生成したビューを表示する
        setContentView(myView);
    }
}


MyView.java
package goodroid.sample.circle;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class MyView extends View{

    public MyView(Context context) {
	super(context);
    }

    protected void onDraw(Canvas canvas){
	super.onDraw(canvas);

	// 背景を白にする
	canvas.drawColor(Color.WHITE);

	// ペイントオブジェクトを生成
	Paint paint = new Paint();

	// 円の種類を塗りつぶしに設定
	paint.setStyle(Paint.Style.FILL);

	// 線の色を青にする
	paint.setColor(Color.BLUE);

	// 100, 100を中心にした半径80の円を描画
	canvas.drawCircle(100, 100, 80, paint);

	// アンチエイリアスを指定
	paint.setAntiAlias(true);

	// 線の色を緑に変更する
	paint.setColor(Color.GREEN);

	// 300, 300を中心にした半径80の円を描画
	canvas.drawCircle(300, 300, 80, paint);

	// 円の種類を円周に設定
	paint.setStyle(Paint.Style.STROKE);

        // 100, 500を中心にした半径80の円を描画
	canvas.drawCircle(100, 500, 80, paint);
    }
}


「drawCircle」メソッドを呼び出すと、円を描画できます。
引数には、positionX, positionY, radius, Paintインスタンスを設定します。

また、円の塗りつぶしの設定は「setStyle」メソッドで行います。 引数に「Paint.Style.FILL」で円の塗りつぶし、「Paint.Style.STROKE」で円周のみの絵画になります。

実行結果



2456 views | コメント:0 | 2012-06-02
コメント
まだこの記事にコメントはありません
コメントの投稿
名前 (必須)

メールアドレス (非公開)

本文(必須)

パスワード (必須)
(半角数字4桁)