Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0。
大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关的: Canvas、ColorFilter、Point(点)和RetcF(矩形)等,还有一些动画相关的:AnimationDrawable、 BitmapDrawable和TransitionDrawable等。以图形处理来说,我们最常用到的就是在一个View上画一些图片、形状或者自定义的文本内容,这里我们都是使用Canvas来实现的。你可以获取View中的Canvas对象,绘制一些自定义形状,然后调用View. invalidate方法让View重新刷新,然后绘制一个新的形状,这样达到2D动画效果。下面我们就主要来了解下Canvas的使用方法。

Canvas的用法##

Canvas对象的获取方式有两种:一种我们通过重写View.onDraw方法,View中的Canvas对象会被当做参数传递过来,我们操作这个Canvas,效果会直接反应在View中。另一种就是当你想创建一个Canvas对象时使用的方法:


Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);

Canvas的方法使用介绍##

画笔属性设置好之后,还需要将图像绘制到画布上。Canvas类可以用来实现各种图形的绘制工作,如绘制直线、矩形、圆等等。Canvas绘制常用图形的方法如下:
  绘制直线:canvas.drawLine(float startX, float startY, float stopX, float stopY, Paint paint);
  绘制矩形:canvas.drawRect(float left, float top, float right, float bottom, Paint paint);
  绘制圆形:canvas.drawCircle(float cx, float cy, float radius, Paint paint);
  绘制字符:canvas.drawText(String text, float x, float y, Paint paint);
  绘制图形:canvas.drawBirmap(Bitmap bitmap, float left, float top, Paint paint);
绘制圆弧:drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)
oval 椭圆边界startAngle 起始角度sweepAngle 扫描范围(度数)
useCenter是否包含椭圆中心paint 画笔
绘制圆角矩形:drawRoundRect (RectF rect, float rx, float ry, Paint paint)

画笔设置##

Paint.setStrokeJoin(Join join)设置结合处的样子,Miter:结合处为锐角, Round:结合处为圆弧:BEVEL:结合处为直线。
setStrokeMiter(float miter )是设置笔画的倾斜度
setARGB(int a, int r, int g, int b) 设置 Paint对象颜色
setAlpha(int a) // 设置alpha不透明度,范围为0~255**
setAntiAlias(boolean aa) // 设置是否有锯齿
setColor(int color) // 设置颜色
public Shader setShader (Shader shader)//设置或清除渐变色,传入null为清除渐变色
setTextScaleX(float scaleX) // 设置文本缩放倍数,1.0f为原始
setTextSize(float textSize) // 设置字体大小
setUnderlineText(booleanunderlineText) // 设置下划线

关于渐变色##

渐变色Shader

更多相关文章

  1. Android实现机制(二)——View绘制机制
  2. Android(安卓)中TextView中跑马灯效果的实现方法
  3. Android(安卓)Material Design之CoordinatorLayout全面使用介绍
  4. Android(安卓)Local语言设置
  5. Android设置锁屏/休眠时长
  6. Android中设置启动动画
  7. Android(安卓)绘制一个Loading动画__向图片中缓慢填充颜色,从而
  8. Android(安卓)Studio同一工程生成不同的app名,包名,图标分别设置
  9. Android(安卓)嵌入浏览器

随机推荐

  1. C# and android
  2. android lowmem killer 触发条件
  3. Android(安卓)开发环境安装失败问题总结
  4. Afaria 做Android设备lock时候发给GCM的
  5. 解决com.google.code.findbugs:jsr305依
  6. android音乐播放器常见操作
  7. Android(安卓)编译环境快速安装(基于ubun
  8. ScaleGestureDetector SimpleOnScaleGest
  9. android获取当前Canvas位图代码
  10. android 开发环境搭建的创建AVD