android里面的绘图

在Android中,与Java不同,图形绘制不是直接使用Graphics,而是通过Canvas和Bitmap结合实现。Canvas用于绘制,而Bitmap作为图形的载体。当需要在ImageView上显示图形时,先创建一个Bitmap,然后利用Canvas在Bitmap上作画。若要覆盖之前绘制的内容,只需重新创建Bitmap;若不覆盖,可直接在同一个Bitmap上继续绘制。
摘要由CSDN通过智能技术生成
  • 首先在java里面的绘图我们都是直接用一个Graphics来完成,但是在android里面绘制图形需要以下关键字
	//安卓画图
	ImageView draw;
    Bitmap bm;
    Canvas cv;
    Paint pt;
那么关于对这四个关键字的理解:
ImageView draw可以理解为图形将要显示在这个上面 为画布这个画布会有它的尺寸为限制
Bitmap 可以从字面意思上理解是位图,因为对于图形可以看作是由一个一个像素点所组成的,因此设置Bitmap.createBitmap就是在创建一个图形可以显示的有一定尺寸的像素点,但是这些像素点又不能直接表现出来图形,还是需要一个图形界面去做这些像素点的载体所以这就会用到ImageView,draw.setImageBitmap(bm);就是将这个位图加载到ImageView上去,位图是在ImageView上面显示出来的,但是不能直接将图形绘制在ImageView上面,
接下来是Canvas cv可以选择要绘制图形的形状,定义cv的同时将bm传进来确定将要绘制的图形会在Bitmap上
Paint pt可以设置颜色
最后通过调用cv将图形绘制出来
cv.drawCircle(x,y,20,pt);
draw.invalidate();//绘制的图形可见
  • 因此可以总结为,通过cv绘制图形的同时将pt(画笔)传进去,但是cv不能直接将图形绘制在ImageView上,因此需要一个Bitmap来进行一个过渡,所以会有一个cv = new Canvas(bm);就是将图形绘制在Bitmap上,然后在通过Bitmap将图形显示出来在ImageView上draw.setImageBitmap(bm)
  • 同时思考如果想要将上次绘制的图形覆盖只需要将Bitmap进行重新创建即可,因为图形是直接绘制在Bitmap上面的,而不是在ImageView上,所以通过判断bm是否为null即可进行Bitmap的创建,如果不需要覆盖上一次绘制的图形,那么直接在一个Bitmap上进行不断绘制即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值