Android Canvas

Android Canvas


1、前言

前面我们介绍过了Android中的图片相关的两个类,一个是Drawable,一个是Bitmap,这两个类在Android的绘图技巧当中是十分的重要的。这里不再多做解释,如果还存在一些疑问或者困惑的可以去看看我的前两篇博客,我们现在明白了给哪里绘制,下来我们就需要接触到我们的绘图核心类了,–Canvas了,相信大家在工作和学习当中绝对比较熟悉这个类。好了,我们开始我们今天的正题,我们和以前一样,我们先列出我们今天要探索的东西,如果您都掌握了,那就直接跳,免得浪费大家的时间,程序员的时间,是很珍贵的。

这里写图片描述


2、Cnavas

我们看到上述的导航图了,今天我们的要聊的话题就是Canvas,并且博主打算分成两个部分去介绍Canvas,第一部分就是关于Canvas的基本使用的方法就是画点东西出来,第二个方面就是主要聊一聊我们Canvas的绘图技巧,如何我们进行高效的绘图呢,

不过在开始之前,我们需要先弄明白一个概念,那就是我们的Canvas是什么,我们知道Bitmap主要负责保存我们的像素数据,我们想给我们的Bitmap去操作像素数据(绘制),Google官方给我们提供了一个叫做Canvas的类,就是画布,根据面向对象的思想,画什么东西是画布的动作,所以在该画布里面封装了大量的API来供我们进行使用,大体的可以分为5大类,具体是什么,在我的上图当中已经有明确的答案了。那我们就来看看吧

3、绘制图像

我们首先得知道如何得到一个Canvas,我们刚刚说过了,我们的Canvas应该与一个Bitmap所绑定的在一起比如下面的这一条示例,我们的Canvas应该和我们的Bitmap进行绑定。绑定以后我们的Bitmap就会接受你在画布上面所绘制的一切。

Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
//根据我们上述创建出来的Bitmap去创建一个画布,
Canvas canvas = new Canvas(bitmap);
//这一行代码一执行,我们所画的东西就通过画布去绘制到我们刚刚创建出来的Bitmap之上了
canvas.drawXXXX();
  • 填充颜色
//去在画布上面绘制固定的颜色,绘制ARGB,每个的值在0~225
drawARGB(int a, int r, int g, int b)
//去绘制一个颜色,一个十六进制的Int类型值
drawColor(int color)
//和第一个方法一样,只是把第一个透明度的参数去掉了
drawRGB(int r, int g, int b)
//绘制颜色,但是要制定一个mode,该mode的作用是当有层叠的时候,如何显示图片做一个限定,比如:有A,B两个图片有重叠的位置,那么重叠的位置是显示A的部分还是显示B的部分,还是都不显示,设置这个方法后,里面有很多类型可以选择
drawColor(int color, PorterDuff.Mode mode)
  • 绘制形状
// 画圆 (圆心x0,圆心y0,半径,paint)
Canvas.drawCircle(100, 100, 50, mPaint) ;
// 画圆弧 RectF对象表明内切矩形的(left,top,right,bottom)
RectF rf = new RectF(100 ,100 ,200 ,200) ;
// 参数(rf,startAngle ,angle ,sweepAngle ,paint) sweepAngle表明是否显示圆弧三角形 angle画多少度
Canvas.drawArc(rf, 60, 30, true, mPaint) ;
//画椭圆 初始化RectF的参数是(left,top,right,bott
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值