Adnroid canvas

android 通过view  通过 onDraw() 方法  canvas 进行绘制


1 canvas : 画布


2 可以进行 图形、文字、图片绘制


3 canvas 有 translate 、rotate 等 改变画布的方法,通过这些方法改变画布,实现改变绘制的目的(画出一个刻度,画布旋转角度 (canvas 的 rotate 方法)后,那么这个刻度随

画布旋转,循环实现,可以实现 表盘等 圆形 刻度 图形


4 save() restore() 方法,,,,sava()方法 保存画布状态,,执行此方法后,,状态保存,执行restore ,则画布回到保存的状态(通常结合使用,,例如旋转 30 度,,保存,,再 旋转 30 度,那么此时相当于 旋转60度,,执行 restore() 后,回到旋转 30 度状态,,此时旋转 30度,,那么相当于 还是 旋转了60 度)


5  invalidate();    在主线程 调用,实现view 刷新,,onDraw执行    postInvalidate(); 可以在主线程 也可以在 子线程中执行,属性view,  


6 对于view  

getIntrinsicWidth()  获取 原始资源(图片宽度)  getWidth(获取view控件)
自定义imageview  getwidth() 获取view宽度,  getDrawable.getIntrinsicWidth() 获取布局中设置图片的原始宽度
 
7 对于Imageview 的ScaleType  的 matrix 类型,需要设置一个矩阵,在自定义Imageview 的常用
 
8 关于抗锯齿   绘制过程中曲线、斜线等出现锯齿
 
	对于线条文字 paint.setAntiAlias(true);   
	对于图片 线条 canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
	PaintFlagsDrawFilter  专用于此


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值