Paint、Canvas.1
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的更多相关文章
- Android Paint、Canvas、Matrix使用讲解(一、Paint)
http://blog.csdn.net/tianjian4592/article/details/44336949 好了,前面主要讲了Animation,Animator 的使用,以及桌面火箭效果和 ...
- Paint、Canvas、Matrix使用解说(一、Paint)
username=tianjian4592">我正在參加 CSDN 2015博客之星评选 感恩分享活动,假设认为文章还不错,请投个票鼓舞下吧:http://vote.blog.csdn ...
- Paint、Canvas
1.Canvas类 public class Canvas { public static final int ALL_SAVE_FLAG = 31; /** @deprecated */ @Depr ...
- Paint、Canvas.2
1:使用Cavans画个简单图形 2:过程 2.1:绘制最外部的圆 /*** 初始化 paint */ Paint paint; paint = new Paint(); paint.setColor ...
- 安卓自定义控件(一)Canvas、Paint、Shader、Xfermode
关于自定义控件,之前就写过一篇自定义控件,上图下字的Button,图片任意指定大小,但是使用效果还是让人感觉不幸福,这次索性彻彻底底地对自定义控件做一次彻彻底底的总结. 我会花4篇博客来介绍自定义控件 ...
- Android学习记录:Paint,Canvas和Bitmap
在Java中,利用过双缓冲技术,先将画笔画在内存上,再转化为图片,调出来. 当画的东西过多造成处理不过来时,双缓冲技术将防止闪屏. 在Paint方法下,我们这样写: BufferedImage tmp ...
- 环形进度条的实现方法总结和动态时钟绘制(CSS3、SVG、Canvas)
缘由: 在某一个游戏公司的笔试中,最后一道大题是,“用CSS3实现根据动态显示时间和环形进度[效果如下图所示],且每个圆环的颜色不一样,不需要考虑IE6~8的兼容性”.当时第一想法是用SVG,因为SV ...
- [Web 前端] VML、SVG、Canvas简介
1.VML: VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途,VML只是被IE支持. ...
- VML、SVG、Canvas简介
1.VML: VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途,VML只是被IE支持. ...
随机推荐
- JavaScript中Null和Undefined的区别
Null: null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象. Undefined: undefined不是js中 ...
- 【剑指Offer】41、和为S的连续正数序列
题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数). ...
- 复习C语言基础知识(day02)
一.大型软件组织 定义规则,规则就是协议.用户和中介的接口. 软件开发的过程: 定义规则,定义协议.软件为用户提供的功能. 在C语言中使用接口实现.接口就是函数. 两种用户 函数的使用者 函数的实现者 ...
- 08.Web服务器-3.Web静态服务器
1.显示固定的页面 from socket import * from multiprocessing import * import os def handleClient(clientSocket ...
- redis在windows上通过cmd连接服务器(需要密码)
- 基于SSH的J2EE Web系统配置文件
1. web.xml 关于Servlet Servlet是一个特殊的Java类,Servlet可以输出HTML标签作为表现层使用,但自从MVC规范出来以后,明确了Servlet的指责仅作为控制器使用, ...
- delphi窗口的create和free,一个古老的话题
窗体分为模式窗体和无模式窗体. 模式窗体在创建窗口创建和释放: begin if not Assigned(FB_Input_JianYanDan) then FB_Input_JianYanDan ...
- (27)Spring Boot Junit单元测试【从零开始学Spring Boot】
Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性. 那么先简单说一下为什么要写测试用例 1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率 ...
- mybatis源码阅读-Transaction和TransactionFactory(四)
Transaction 类图 接口定义 public interface Transaction { Connection getConnection() throws SQLException; v ...
- Summary of Memory Management Methods
Summary of Memory Management Methods Table 18-1 summarizes the various memory management methods. If ...
