Canvas与Paint的初级使用

看了很多android自定义方面的资料,了解了很多原理,遇到人家自定义的东西也能够看得懂,但是,当自己去自定义的时候,发现脑袋一片空白,所以就先从认识Canvas和Paint开始吧!


Canvas 类

主要是实现了屏幕的绘制过程,是自定义View的时候不可少的一个步骤,其中包含了很多实用的方法,不如绘制一条路径、区域、画点、画线、渲染文本。下面就是一下canvas的常用方法介绍。


void drawRect(RectF rect,Paint paint) //绘制区域,参数为一个RectF一个区域


void drawPath(Path path,Paint paint)// 绘制一个路径,参数为一个Path路径对象


 void drawBitmap(Bitmap bitmap,Rect src,Rect dst,Paint paint)//贴图,参数一就是常规的Bitmap对象,参数二是原区域,参数三是目标区域,参数四是自定义的paint对象。这个地方设计到了图像学的一些知识,就是原区域跟目标区域混合的情况,涉及到PorterDuffXfermode 这个类。该类含有一个构造方法
PorterDuffXfermode(PorterDuff.Mode mode)虽说构造方法的签名列表里只有一个PorterDuff.Mode的参数,但是它可以实现很多酷毙的图形效果!!而PorterDuffXfermode就是图形混合模式的意思,其概念最早来自于SIGGRAPH的Tomas Proter和Tom Duff,混合图形的概念极大地推动了图形图像学的发展,延伸到计算机图形图像学像Adobe和AutoDesk公司著名的多款设计软件都可以说一定程度上受到影响,而我们PorterDuffXfermode的名字也来源于这俩人的人名组合PorterDuff,那PorterDuffXfermode能做些什么呢?我们先来看一张API DEMO里的图片


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值