android图像绘制(一)多种方法做图像镜像
发布时间:2023-08-23 01:34:18
标签:android图像绘制,图像镜像
在android中做图像镜像有很多方法,今天算是学习了!
两种方法如下:
//方法一
Matrix matrix = new Matrix();
matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前两个是xy变换,后两个是对称轴中心点
matrix.postTranslate(x, y);
canvas.drawBitmap(bmpLuffy[0], matrix, paint);
//方法二
// canvas.save();
// canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
// canvas.drawBitmap(bmpLuffy[0], x, y, paint);
// canvas.restore();
方法一,使用矩阵的方式(3x3)矩阵:
1、先使用postScale的方式将图片以点(bmpW/2,bmpH/2)为中心,以x=bmpW/2为对称轴翻转;
2、使用postTranslate,将图片移到(x,y)坐标
方法二,画布翻转(略)
注意如下问题:
对于其中的bmpW和bmpH是指所用图片的宽高,需要使用图片bmp.getWidth()和bmp.getHeight()获取,
不能使用PC上看到的大小,否则可能会出现错位!
-----------------------------------------------------------------------
如果对Matrix不是很了解的话,可以参考api文档,或网络文章
0
投稿
猜你喜欢
- 结论先行Kotlin协程中的Channel用于处理多个数据组合的流,随用随取,时刻准备着,就像自来水一样,打开开关就有水了。Channel使
- 这里在提供C#代码,将PPT转成PDF.直接上代码;要引入Microsoft.Office.Interop.PowerPoint; 版本12
- 一、使用swing嵌套浏览器要实现的功能:通过java的swing实现在一个窗体中嵌套一个浏览器,可以在这个浏览器中将另一个项目的内容显示出
- 趁着过年这段时间,我将算法导论这本书看了一遍,感觉受益匪浅。着这里也根据算法导论中所涉及到的算法用java实现了一遍。第一篇我们就从排序开始
- 记录查找自动组拼SQL语句的过程首先在BaseMapper其中的一个方法下打个断点在断点显示的值栏找到相关的SQL发现SQL语句在Mappe
- 现在提起Android开发工具,大多人第一个想到的肯定是Android Studio。谷歌专门为Android开发者推出的这款IDE,以其强
- 一、传递参数既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更
- 1. 使用try-with-resources简化文件读取操作:修改前:FileInputStream fis = null;try { &
- 如下所示:package cn.sunzn.md5;import java.security.MessageDigest;import ja
- 概览这部分内容来自于这个类的注释,简单翻译了下。LockSupport 类是用于创建锁和其他同步类的基本线程阻塞原语。它的实现思想
- 最近在做一个项,有一个收藏的功能。后来看到了一点资讯的收藏动画,感觉不错,所有自己就实现了一下。这是效果:附上完整的代码,其中Animati
- ScrollConfiguration( behavior: NoScrollBehaviorWidget(),
- 如果有人对程序的崩溃原因做下统计的话,那么由于对象为空,但是又访问了对象的某个属性而导致的崩溃,也许会是程序崩溃的第一大原因了。比如我们在使
- 开发缘由:公司需要调用天眼查-开放平台 ,验证客户的的营业执照信息是否在存续期,并将企业基本信息返回,之后和使用百度图文识别的企业信息进行对
- 最小二乘法拟合曲线成直线效果拟合前拟合后传入X轴和Y轴的数据,得到新的Y轴数据。将X值数据和拟合后的Y轴数据绑带即可。/// <sum
- 在这篇文章中,我们将介绍如下内容:==运算符与基元类型==运算符与引用类型==运算符与String类型==运算符与值类型==运算符与泛型==
- 一 模式介绍重试模式,是应用在异常处理中,发生异常的时候,能够对业务程序进行重新调用,在实际中,可以使用Polly提供稳定,简单的用法,自己
- 一.本地Nacos安装环境: Win7 ,JDK8 ,maven3.51.下载安装包2.启动nacos服务,bin文件下下面startup.
- 一、效果图 二、实现思路1.界面上可以点开的各种实际都是按钮,创建9行9列的二维数组,然后
- 由于ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告&