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. Linux删除重复内容命令uniq笔记

    针对文本文件,有时候我们需要删除其中重复的行.或者统计重复行的总次数,这时候可以采用Linux系统下的uniq命令实现相应的功能. 语法格式:uniq [-ic] 常用参数说明: -i 忽略大小写 - ...

  2. jsp+servlet 导出Excel表格

    1.项目的目录结构 2.创建一个用户类,下面会通过查询数据库把数据封装成用户实例列表 package csh.entity; /** * @author 悦文 * @create 2018-10-24 ...

  3. call,apply,bind

    1.IE5之前不支持call和apply,bind是ES5出来的;2.call和apply可以调用函数,改变this,实现继承和借用别的对象的方法; 1 call和apply定义 调用方法,用一个对象 ...

  4. QBXT春季培训酱油记

    Day-1: 下午回家收拾东西,明天去JN,先通知一下在JN的lll dalao明天去见他,然而手办到了,心情大好啊有没有,有没有! 晚上单曲循环<初音未来的消失>,睡觉的时候哭得稀里哗啦 ...

  5. php进程daemon化的正确做法

    [原文地址:https://blog.ti-node.com/blog...] daemon 音标 : ['di:mən] , 中文含义为守护神或精灵的意思 . 其实它还有个意思 : 守护进程 . 守 ...

  6. OO第四单元总结——查询UML类图 暨 OO课程总结

    一.本单元两次作业的架构设计总结 作业一.UML类图查询 1. 统计信息图 2. 复杂度分析 基本复杂度(Essential Complexity (ev(G)).模块设计复杂度(Module Des ...

  7. jquery源码分析(二)——架构设计

    要学习一个库首先的理清它整体架构: 1.jQuery源码大致架构如下:(基于 jQuery 1.11 版本,共计8829行源码)(21,94)                定义了一些变量和函数jQu ...

  8. lucene_06_solr域

    solr域在家目录下面\solr_home\collection1\conf中的schema.xml里面定义. 域必须要先在schema.xml下定义后才能使用. solr在操作Field域时需要在s ...

  9. CodeForces - 445A - DZY Loves Chessboard

    先上题目: A. DZY Loves Chessboard time limit per test 1 second memory limit per test 256 megabytes input ...

  10. 1103 N的倍数

    1103 N的倍数  题目来源: Ural 1302 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 一个长度为N的数组A,从A中选出若干个数,使得 ...