canvas.concat的作用可以理解成对matrix的变换应用到canvas上的所有对象. 看下面的代码. public class ConcatMatrixActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE)…
先看如下代码 public class SaveRestoreActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new SaveRestoreView(this)); } } public class SaveRestoreView extends View { publ…
Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵.最好记住.如下图: 解释一下,上面的sinX和cosX,表示旋转角度的cos值和sin值,注意,旋转角度是按顺时针方向计算的. translateX和translateY表示x和y的平移量.scale是缩放的比例,1是不变,2是表示缩放1/2,这样子. 例如:从最简单的旋转90度 在android.graphics.…
网上很多的倒影特效实际上就是一个对称变换,在改变透明度即可. Matrix对称变换包括很多种,有关于Y轴对称,关于X轴对称,关于y= -x对称等等. 1 关于Y轴对称 // 获取资源文件的引用res Resources res = getResources(); // 获取图形资源文件 Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.v); // 设置canvas画布背景为白色 canvas.drawColor(Color.BL…
刚开始我也不懂啥叫错切变换,一看效果图你就恍然大悟. 对图像的错切变换做个总结: x = x0 + b*y0; y = d*x0 + y0; 与之对应的方法是: Matrix matrix = new Matrix(); matrix.setSkew(0.0f, 0.5f);…
Canvas文档 http://developer.android.com/training/index.html 在绘制view时候,重写onDraw(canvas)方法,可能需要在canvas上绘制一些图案,所以有必要了解一下canvas的APIs canvas的常用绘图方法: 从APIs中可以看到,绘图方法接受一个Paint对象 Paint类是android中的画笔,用来在画布Canvas上绘制图形 setColor(int):设置画笔颜色setARGB(int,int,int):设置颜色…
今天修改Servlet中代码,重启服务端程序之后发现没有启作用,于是Clean了一把,果然生效. 查阅资料得知,Eclipse中是根据时间戳去编译代码,如果某个类对应的时间戳没有发生改变就不会重新编译. 大牛解释如下: 顿时泪流满面,感觉自己书读的太少....... 暂且先不管这些,简单理解就是和.Net中一样重新编译一把,待把这个小项目整完,再慢慢来整这些细节的东西. 另附上servlet官方介绍,有空再行研究: https://docs.oracle.com/cd/E13222_01/wls…
http://blog.csdn.net/tianjian4592/article/details/44336949 好了,前面主要讲了Animation,Animator 的使用,以及桌面火箭效果和水波纹效果,分别使用android框架和自己绘制实现,俗话说,工欲善其事,必先利其器,接下来几篇文章主要讲绘制中我们需要常使用的一些利器: Paint:画笔 Canvas:画布 Matrix:变换矩阵 绘制动效确实就像拿着笔在画布上面画画一样,而Paint就是我们拿着的笔,Canvas就是使用的画布…
Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 首先介绍一下矩阵运算.加法和减法就不用说了,对应位相加就好.图像处理,主要用到的是乘法 .下面是一个乘法的公式: 在 Android 里面, Matrix 由 9 个 float 值构成,是一个 3*3 的矩阵.如下图: 解释一下,上面的sinX 和cosX ,表示旋转角度的cos 值和sin值,注意,旋转角度是按顺时针方向计算的. translateX 和 translateY 表示 x…
原文:http://www.cnblogs.com/feisky/archive/2010/01/10/1643460.html 位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的. 1. 从资源中获取位图 可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图. 当然,首先需要获取资源: Resources res=getResources(); 使用BitmapDrawable获取位图 使用BitmapDrawable (InputStream…