Canvas 方法详解

1:translate(float dx, float dy)

/**** 移动canvas的原点到(dx,dy),默认为(0,0) */
public void translate(float dx, float dy);
canvas.drawRect(0,0,300,200,rectPaint);
canvas.translate(300,200);
canvas.drawRect(0,0,400,400,rectPaint1);

图:

2:clipRect方法

该方法 clipRect(float left, float top, float right, float bottom, Op op)不支持硬件加速,故application加入以下代码。

<application android:hardwareAccelerated="false">
 public boolean clipRect(float left, float top, float right, float bottom, Op op) ;
public boolean clipRect(float left, float top, float right, float bottom);

先看Op的几个属性:

Region.Op.REPLACE  //后者的范围将全部进行显示,并覆盖交集

Op.DIFFERENCE; // 显示前者与后者差集

Op.INTERSECT; // 显示交集部分

Op.REVERSE_DIFFERENCE  // 显示后者与前者差集

Op.UNION; // 并集都会显示

Op.XOR  // 显示部分为全集减去交集部分

 canvas.clipRect(0,0,500,500);

 canvas.drawColor(Color.RED);

 canvas.clipRect(0, 0, 200, 200);

 canvas.clipRect(100, 100, 300, 300,
Region.Op.REPLACE); canvas.clipRect(0,0,250,250);
canvas.drawColor(Color.GRAY);

replace:

union:

XOR  :

3:drawBitmap方法

 Bitmap bitmap1= BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher_round);

 canvas.drawBitmap(bitmap1, 220, 60, rectPaint);//坐标指的是左上角的位置

4:drawpoints方法

public void drawPoint(float x, float y, Paint paint);
public void drawPoints(float[] pts, int offset, int count, Paint paint) ; public void drawPoints(float[] pts, Paint paint) ;

参数pts ,offset(开始点),count()数目

 float[] pts=new float[]{100,100,200,200,67f,56f,78f,78f,123f,145f,231f,342f};

 canvas.drawPoints(pts,0,4,rectPaint);

绘制效果就是2个点:(100,100),(200,200)

Paint、Canvas.1的更多相关文章

  1. Android Paint、Canvas、Matrix使用讲解(一、Paint)

    http://blog.csdn.net/tianjian4592/article/details/44336949 好了,前面主要讲了Animation,Animator 的使用,以及桌面火箭效果和 ...

  2. Paint、Canvas、Matrix使用解说(一、Paint)

    username=tianjian4592">我正在參加 CSDN 2015博客之星评选 感恩分享活动,假设认为文章还不错,请投个票鼓舞下吧:http://vote.blog.csdn ...

  3. Paint、Canvas

    1.Canvas类 public class Canvas { public static final int ALL_SAVE_FLAG = 31; /** @deprecated */ @Depr ...

  4. Paint、Canvas.2

    1:使用Cavans画个简单图形 2:过程 2.1:绘制最外部的圆 /*** 初始化 paint */ Paint paint; paint = new Paint(); paint.setColor ...

  5. 安卓自定义控件(一)Canvas、Paint、Shader、Xfermode

    关于自定义控件,之前就写过一篇自定义控件,上图下字的Button,图片任意指定大小,但是使用效果还是让人感觉不幸福,这次索性彻彻底底地对自定义控件做一次彻彻底底的总结. 我会花4篇博客来介绍自定义控件 ...

  6. Android学习记录:Paint,Canvas和Bitmap

    在Java中,利用过双缓冲技术,先将画笔画在内存上,再转化为图片,调出来. 当画的东西过多造成处理不过来时,双缓冲技术将防止闪屏. 在Paint方法下,我们这样写: BufferedImage tmp ...

  7. 环形进度条的实现方法总结和动态时钟绘制(CSS3、SVG、Canvas)

    缘由: 在某一个游戏公司的笔试中,最后一道大题是,“用CSS3实现根据动态显示时间和环形进度[效果如下图所示],且每个圆环的颜色不一样,不需要考虑IE6~8的兼容性”.当时第一想法是用SVG,因为SV ...

  8. [Web 前端] VML、SVG、Canvas简介

    1.VML: VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途,VML只是被IE支持. ...

  9. VML、SVG、Canvas简介

    1.VML: VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途,VML只是被IE支持. ...

随机推荐

  1. JavaScript中Null和Undefined的区别

    Null: null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象. Undefined: undefined不是js中 ...

  2. 【剑指Offer】41、和为S的连续正数序列

      题目描述:   小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数). ...

  3. 复习C语言基础知识(day02)

    一.大型软件组织 定义规则,规则就是协议.用户和中介的接口. 软件开发的过程: 定义规则,定义协议.软件为用户提供的功能. 在C语言中使用接口实现.接口就是函数. 两种用户 函数的使用者 函数的实现者 ...

  4. 08.Web服务器-3.Web静态服务器

    1.显示固定的页面 from socket import * from multiprocessing import * import os def handleClient(clientSocket ...

  5. redis在windows上通过cmd连接服务器(需要密码)

  6. 基于SSH的J2EE Web系统配置文件

    1. web.xml 关于Servlet Servlet是一个特殊的Java类,Servlet可以输出HTML标签作为表现层使用,但自从MVC规范出来以后,明确了Servlet的指责仅作为控制器使用, ...

  7. delphi窗口的create和free,一个古老的话题

    窗体分为模式窗体和无模式窗体. 模式窗体在创建窗口创建和释放: begin if not Assigned(FB_Input_JianYanDan) then FB_Input_JianYanDan ...

  8. (27)Spring Boot Junit单元测试【从零开始学Spring Boot】

    Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性. 那么先简单说一下为什么要写测试用例 1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率 ...

  9. mybatis源码阅读-Transaction和TransactionFactory(四)

    Transaction 类图 接口定义 public interface Transaction { Connection getConnection() throws SQLException; v ...

  10. Summary of Memory Management Methods

    Summary of Memory Management Methods Table 18-1 summarizes the various memory management methods. If ...