Android开发——图形编程(二)Paint与Canvas的常见操作

Android图形编程基础


Paint的设置方法

setAntiAlias:设置画笔的锯齿效果
setColor:设置画笔颜色
setARGB:设置画笔的a,r,g,b值
setAlpha:设置Alpha值
setTextSize:设置字体尺寸
setStyle:设置画笔风格,空心或者实心
setStrokWidth:设置空心的边框宽度
getColor:得到画笔的颜色
getAlpha:得到画笔的Alpha值

使用Canvas绘制点、线、图形

//绘制直线
drawLine(float startX,float startY,float stopX,float stopY,Paint paint)
//绘制矩形
drawRect(float left,float top,float right,float bottom,Paint paint)
//绘制圆形
drawCircle(float cx,float cy,float radius,Paint paint)

使用Canvas绘制文字

drawText(String text,float x,float y,Paint paint)

使用Canvas绘制图片

drawBitmmap(Bitmap bitmap,float left,float top,Paint paint)

实例代码

首先前面一文已经讲过了基本的绘图方法,调用onDraw方法,创建Paint画笔进行作画。
我们在下面代码中进行详细的Paint的设置,并在画布上画出了矩形、圆、文字、图形。
代码如下:

public class MyView extends View {

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

    //当Android系统需要绘制一个View对象时,就会调用该对象的onDraw方法
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        //创建一个画笔对象
        Paint paint = new Paint();

        //设置画笔颜色
        //paint.setColor(Color.BLUE);

        //设置透明度,红,绿,蓝
        paint.setARGB(150,0,100,200);
        //设置画笔为空心的
        paint.setStyle(Paint.Style.STROKE);
        //设置空心画笔边界宽度
        paint.setStrokeWidth(10);
        //设置字体大小
        paint.setTextSize(100);

        //在画布上画出一条线,参数为:初始的横、纵坐标,结束的横、纵坐标,画笔
        canvas.drawLine(0,0,200,200,paint);

        //在画布上画出一个矩形,左边界300,上边界50,右边界500,下边界300
        canvas.drawRect(300,50,500,300,paint);

        //在画布上画出一个圆,圆心在(700,700),半径为100
        canvas.drawCircle(200,500,100,paint);

        //在画布上画出一些字符,左基准线在300,下基准线在800
        canvas.drawText("apple",400,500,paint);

        //在画布上画出一个左边界在300,上边界在700的图片
        canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.picture),300,700,paint);
    }
}

最后在MainActivity调用它。
绘制出的样子如下:
在这里插入图片描述
注:如果不设置画笔为空心的话,那么画出的图形是这个亚子的…
在这里插入图片描述

发布了230 篇原创文章 · 获赞 250 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/weixin_42247720/article/details/103497078