Canvas 画布 paint 画笔 Path 路径
Path代表任意多条直线连接而成的任意图形,当Canvas根据Path绘制时,它可以绘制出任意的形状

使用 Matrix 控制图像或组件变换步骤:
①获取 Matrix对象,该 Matrix对象既可创建,也可直接获取其他对象内封装的 Matrix;
②调用 Matrix的方法进行平移、旋转、缩放、倾斜等;
③将程序对 Matrix所做的变换应用到指定图像或组件。

colorMatrix : (4x5矩阵) 用于处理颜色
matrix (矩阵) : 处理图形(3x3)
Matrix matrix = new Matrix();
canvas.drawBitmap(bitmap, matrix, paint);
matrix.setTranslate(100, 1000);
canvas.drawBitmap(bitmap, matrix, paint);

matrix.preTranslate(100,100);
matrix.preRotate(20,100,100);
canvas.drawBitmap(bitmap, matrix, paint);

Android为Bitmap提供了内存回收方法:
void recycle():强制回收Bitmap对象。
用于判断Bitmap 对象是否被回收的方法:
boolean isRecycle();

BitmapFactory工具类:通过对资源文件的解析获取Bitmap对象
eg:decodeResource(Resource res,int id) decodeByteArray(byte[] data, int offset,int length) etc.

绘图应该继承View组件,并重写它的onDraw(Canvas canvas)方法

drawCircle:canvas.drawCircle(cx, cy, radius, paint);x、y代表坐标、radius是半径、paint是画笔,就是画图的颜色;
实心(paint.setStyle(Paint.Style.FILL)) 空心(paint.setStyle(Paint.Style.STROKE);
正方形 drawRect:canvas.drawRect(left, top, right, bottom, paint)
left:是矩形距离左边的X轴 top:是矩形距离上边的Y轴 right:是矩形距离右边的X轴 bottom:是矩形距离下边的Y轴
圆角矩形:drawRoundRect(RectF rect,float rx,float ry,Paint paint);
eg:RectF rectf=new RectF(40,20,80,40); canvas.drawRonudRect(rectf,6,6,paint);
左上角坐标(left,top)和右下角坐标(right,bottom)
RectF re = new Rect(left, top, right, bottom); 椭圆:canvas.drawOval(re,paint);
drawLine(float startX,float startY,float stopX,float stopY, paint);
绘制多条线:drawLine(float[] pts,Paint paint); eg:drawLine(new float[]{10,10,30,10,30,10,15,30,15,30,10,10},paint);
drawPoints(float x,float y,Paint paint)
drawText(String Text,float x,float y,Paint paint); 在画布的指定位置绘制文字
drawPosText(String text,float[] pos,Paint paint);使用该方法绘制字符串时,需要为每一个字符指定一个位置
text用于指定要绘制的文字,pos用于指定每一个字的位置,paint用于指定使用的画笔

设置画笔:
Paint paint=new Paint();//创建一个采用默认设置的画笔
paint.setAntiAlias(true);//使用抗锯齿的功能
paint.setColor(Color.RED);//设置颜色为红色
paint.setStrokeWidth(2);//笔触的宽度为2像素
paint.setStyle(Style.STROKE);//填充样式为描边(实心是Style.FILL)

使用SurfaceView实现动画 :
SurfaceView一般会与SurfaceHolder结合使用, SurfaceHolder用于向与之关联的SurfaceView上绘图,调用SurfaceView的getHolder()方法即可获取SurfaceView关联的 SurfaceHolder。 SurfaceHolder提供了如下方法来获取Canvas对象:
Canvas lockCanvas():锁定整个 SurfaceView对象,获取其上的Canvas。
Canvas lockCanvas(Rect dirty):锁定 SurfaceView上Rect划分的区域,获取其上的Canvas。
获取指定了SurfaceView上的Canvas之后,程序就可以调用Canvas绘图,绘图完成后通过如下方法来释放绘图,提交所绘制的图形:
unlockCanvasAndPost(canvas);
当调用SurfaceHolder的 unlockCanvasAndPost方法之后,该方法之前所绘制的图形还在缓冲中,下一次的lockCanvas()方法锁定的区域可能会“遮挡”它。

android 图形图像的更多相关文章

  1. Android图形基础

    Android图形基础 Android在其android.graphics包中提供了完整的本机二维图像库. Color类,代表颜色,是用4个数字表示的,透明度.红色.绿色和蓝色(Alpha.Red.G ...

  2. android图形基础知识

    Android核心分析(23)-----Andoird GDI之基本原理及其总体框架 2010-06-13 22:49 18223人阅读 评论(18) 收藏 举报 AndroidGDI基本框架 在An ...

  3. 超全面的.NET GDI+图形图像编程教程

    本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了 ...

  4. C#_GDI+详细教程(图形图像编程基础)

    第7章  C#图形图像编程基础 本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础.C#图像处理基础以及简单的图像处理技术. 7.1  GDI+绘图基础 编写图形程序时需要使用GDI( ...

  5. 8 个优秀的 Linux 图形图像及色彩工具

    8 个优秀的 Linux 图形图像及色彩工具 1. 硬件色彩分析器LPROF LPROF 是一个用于创建设备兼容,如相机.扫描仪.显示器的ICC兼容型材的颜色分析器.这些配置提供跨设备的色彩一致性.他 ...

  6. FastStone Capture(FSCapture) 注册码 _图形图像_软件教程_脚本之家

    FastStone Capture(FSCapture) 注册码 _图形图像_软件教程_脚本之家 FastStone Capture 注册码 序列号: name/用户名:TEAM JiOO key/注 ...

  7. DSAPI 图形图像篇(上)

    彩色文字对象 基于一些特殊需求,本人开发了彩色文字对象,该功能通过类似html代码的方式指示文本,并输出图像. 我们还是先来看一张图像. 这不是文本,是通过指定文本代码输出的图像.我们来看一下实现代码 ...

  8. DSAPI多功能组件编程应用-图形图像篇(中)

    [DSAPI.DLL下载地址]   说到计算机上使用代码来处理各种图像特效,是一份太有挑战性的工作.以下涉及的所有图像效果均不是从网上复制的源码,而是本人试验数次并编写的,所以原理上会和网上的有所不同 ...

  9. Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版

    Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版 阅读:  评论:  作者:Rybby  日期:  来源:rybby.com Adobe 家的 Il ...

随机推荐

  1. kettle学习笔记及实践

    转自萤火的萤 最近在用kettle迁移数据,从对kettle一点不会到比较熟悉,对于期间的一些问题和坑做了记录和总结,内容涵盖了使用的经验和技巧,踩到的坑.最佳实践和优化前后结果对比. 常用转换组件 ...

  2. 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(更新)

    参考链接:https://blog.csdn.net/so5418418/article/details/78355868   https://blog.csdn.net/wgh1015398431/ ...

  3. 红黑树(red-black tree)实现记录

    https://github.com/xieqing/red-black-tree A Red-black Tree Implementation In C There are several cho ...

  4. Commons Daemon procrun stdout initialized

    参考 https://blog.csdn.net/qq_19865749/article/details/69664979 jvm路径错误

  5. Exp2 后门原理与实践 20165110

    Exp2 后门原理与实践 一.实验要求 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shell, 任务计划启动 3.使用MSF meterpreter(或其 ...

  6. BigDecimal 类型转换、运算、比较

    序:Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数 ...

  7. HDU - 1695 GDU

    莫比乌斯反演基础. 用rep 去掉重复的对数,rep一定是奇数( 因为有(1,1 ) ) #include <bits/stdc++.h> using namespace std; #de ...

  8. JSP数据库插入判断

  9. select2的设置选中

    select2插件设置选中值并显示的问题 在select2中,要想设置指定值为选中状态并显示: $("#select2_Id").val("XXXXX").se ...

  10. zookeeper资料

     ZooKeeper 入门