matrix.setScale(0.5f, 0.5f, 50, 500);//(50,500)代替(0.0)进行缩放
运行如下:

如果将代码换成:
matrix.preScale(0.5f, 0.5f);
运行结果如下:

这里运行的结果与代码:matrix.setScale(0.5f, 0.5f);运行的结果是一样的。其实我想说的是如果单独运行matrix.postScale(0.5f, 0.5f);结果仍然是一样。那么大家肯定会想这三种方法结果是一样的,那有什么区别呢?先别急,这个问题我们文章最后来解决。
这里已经完成了原点缩放和指定点缩放。
(其余三种操作的方法没有一种操作,包含的方法比缩放的方法多,并且方法含义基本与缩放类似,下面的三种操作就不一一的展示其方法了。)
2、Rotate
修改MyView中的构造函数如下:
publicMyView(Context context, AttributeSet attrs) {super(context, attrs);//取得Bitmap对象
this.bitmap = BitmapFactory.decodeResource(super.getResources(),
R.drawable.img_saber);
matrix.setRo

这篇博客探讨了Android中图像特效的实现,重点在于矩阵操作,包括缩放、旋转、扭曲和平移。通过实例代码展示了setScale、preScale和postScale的区别,以及如何指定旋转和扭曲的参考点。此外,还提到了setRotate、setSkew和setTranslate等方法的使用。
最低0.47元/天 解锁文章
8369

被折叠的 条评论
为什么被折叠?



