ホーム >  Android > 文字と図形の描画

Android -文字と図形の描画-

文字と図形の描画

文字と図形描画するサンプルです。

GraphicsSample.java

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Bundle;
import android.view.View;

public class GraphicsSample extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new GraphicsView(this));
  }

  class GraphicsView extends View {

    public GraphicsView(Context context) {
      super(context);
      setBackgroundColor(Color.WHITE);
    }

    @Override
    protected void onDraw(Canvas canvas) {

      Paint paint = new Paint();
      paint.setAntiAlias(true);

      paint.setTextSize(12);
      paint.setColor(Color.BLACK);

      //(1)ラインを描く
      canvas.drawText("(1)ラインを描く"1020, paint);
      paint.setStrokeWidth(2);
      paint.setStyle(Paint.Style.STROKE);
      paint.setColor(Color.argb(2552550255));
      canvas.drawLine(204020 + 2040, paint);

      //(2)ジグザグ線を描く
      paint.setColor(Color.BLACK);
      paint.setStrokeWidth(0);
      canvas.drawText("(2)ジグザグ線を描く"1070, paint);
      paint.setColor(Color.argb(25525500));
      paint.setStrokeWidth(2);
      Path path = new Path();
      path.moveTo(2090);
      path.lineTo(30110);
      path.lineTo(40100);
      path.lineTo(50110);
      path.lineTo(6090);
      path.lineTo(9090);
      canvas.drawPath(path, paint);

      //(3)長方形を描く
      paint.setColor(Color.BLACK);
      paint.setStrokeWidth(0);
      canvas.drawText("(3)長方形を描く"10140, paint);
      paint.setColor(Color.GREEN);
      canvas.drawRect(new Rect(2016020 + 30160 + 20), paint);

      //(4)塗り潰しの楕円を描く
      paint.setColor(Color.BLACK);
      canvas.drawText("(4)塗り潰しの楕円を描く"10210, paint);
      paint.setColor(Color.BLUE);
      paint.setStyle(Paint.Style.FILL);
      canvas.drawOval(new RectF(2023060250), paint);

      //(5)ニコちゃんマークを描く
      paint.setColor(Color.BLACK);
      canvas.drawText("(5)ニコちゃんマークを描く"10280, paint);
      paint.setColor(Color.YELLOW);
      canvas.drawCircle(5033030, paint);
      paint.setColor(Color.BLACK);
      canvas.drawOval(new RectF(3731943327), paint);
      canvas.drawOval(new RectF(5731963327), paint);
      paint.setStyle(Paint.Style.STROKE);
      canvas.drawCircle(5033030, paint);
      canvas.drawArc(new RectF(3533065348), 180, -180false, paint);
      canvas.drawText("v ピース-----!!"100340, paint);
    }
  }
}