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调用它。
绘制出的样子如下:
在这里插入图片描述
注:如果不设置画笔为空心的话,那么画出的图形是这个亚子的…
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值