android matrix 缩放,android – 如何获取任意矩阵的缩放值?
图像按矩阵缩放:
Matrix matrix = new Matrix();
matrix.postScale(...);
matrix.postTranslate(...);
matrix.postRotate(...);
...
我希望缩放的图像不会小于原始图像的一半,因此总变焦不应小于0.5.
但是怎么做呢?我试图获取矩阵的第一个值来检查:
float pendingZoom = 0.6f;
float[] values = new float[9];
Matrix.getValues(values);
float scalex = values[Matrix.MSCALE_X];
然后:
if(scalex<0.5) {
pendingZoom = pendingZoom * (0.5f / scalex);
}
不幸的是,它有时不起作用.如果图像已旋转,则scalex可能为负,pendingZoom也为负.
怎么做到这一点?
UPDATE
我刚刚发现值[Matrix.MSCALE_X]不是一个可实现的缩放值.我用它来计算矩形的新宽度,这是不正确的.
相反,我试图用矩阵映射两个点,并计算两个距离:
PointF newP1 = mapPoint(matrix, new PointF(0, 0));
PointF newP2 = mapPoint(matrix, new PointF(width, 0));
float scale = calcDistance(newP1, newP2) / width;
我现在可以获得正确的比例值.但我不确定这是否是最佳解决方案.
android matrix 缩放,android – 如何获取任意矩阵的缩放值?相关推荐
- 用MATLAB怎么获取任意像素点的灰度值
用MATLAB怎么获取任意像素点的灰度值 这两天跑代码遇到一个问题,想要根据图像的灰度值进行阈值分割,通过学习,总结以下两种方法来对任意像素点的灰度值. 方法一 1.首先取得你想要的点的坐标,通过gi ...
- Android 在onCreate()方法中获取控件宽高值为0解决方案
大家很多时候需要在Activity或者Fragment的onCreate()方法中获取声明的空间的高度或者宽度,进行位置移动或者其他操作,但是当调用 view.getHeight() 或者 view. ...
- 一、Android Matrix 矩阵
一.Android矩阵 大学学的线性代数和矩阵基本忘记的差不多了,理解起矩阵Matrix着实有点费劲,记了一次笔记还把左乘右乘记错了. 1.1 使用场景 项目中会使用到矩阵的场景: 背景图片,指定位置 ...
- Android Matrix手势缩放自定义view 不止于Imageview
转载请注明出处:http://blog.csdn.net/coderyue/article/details/51397409 之前写过一篇文章Android TextView 横竖排切换(字方向不变) ...
- android 自由缩放图片大小,android Matrix实现图片随意放大缩小或拖动
本文实例为大家分享了android Matrix图片随意放大缩小和拖动的具体代码,供大家参考,具体内容如下 step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable- ...
- android matrix 实现点击旋转,10.4.1 使用Matrix实现旋转、缩放和平移(1)
10.4 图形特效 10.4.1 使用Matrix实现旋转.缩放和平移(1) 在Android图形API中提供了一个Matrix矩形类,该类具有一个3×3的矩阵坐标.通过该类可以实现图形的旋转.平 ...
- Android复习14【高级编程:推荐网址、抠图片上的某一角下来、Bitmap引起的OOM问题、三个绘图工具类详解、画线条、Canvas API详解(平移、旋转、缩放、倾斜)、矩阵详解】
目 录 推荐网址 抠图片上的某一角下来 8.2.2 Bitmap引起的OOM问题 8.3.1 三个绘图工具类详解 画线条 8.3.16 Canvas API详解(Part 1) 1.transla ...
- Android开发学习之ImageView手势拖拽、缩放、旋转
在Android应用中,图片随手势的拖拽.缩放.旋转在很多场景中都会用到,今天我们要做的就是在ImageView的基础上实现一个可以拖拽.缩放.转转的TouchView. 一.实现原理 OnTouch ...
- Android单点触控技术,对图片进行平移,缩放,旋转操作
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/42833893),请尊重他人的辛勤劳动成果,谢谢! 相信大家 ...
最新文章
- 登陆成功率 99%,云知声携手平安好医生推声纹登录系统
- 构建根文件系统之busybox(四)完善
- 图像识别 标注(annotation)的反向优化策略
- 【转】十分有用的linux shell学习总结
- linux系统文件查找实验报告,Linux 文件查找与打包
- 阿呆做网站(3)--建数据库
- 手机知识:手机的快充技术是什么,看完本文你就明白了!
- android学习日记12--布局管理器
- 软件开发人员薪资标准 人月_IT从业者培训前后薪资差距近3000块钱
- python如何请求curl_Python爬虫偷懒神器 —— 一键构造请求头!
- 【Eclipse】启动时报错:No Java virtual machine (已解决)
- Python语法命令学习-Day3(作业练习)
- matlab xlswrite函数,matlab打开excel (xlsread、xlswrite)实用方法...
- IAR+STVP烧录程序排错
- Python 爬虫天天基金数据——基金清单
- matlab如何打开flt文件,科学网—grb文件的读取 (更新) - 张凌的博文
- 惠普暗影精灵键盘灯怎么开
- win10平板模式_win10电脑投屏到手机
- 大学生月入过万的创业好项目——自媒体
- 沅湘流不尽,屈子怨更深,日暮秋风起,潇潇枫树林。
热门文章
- Boost.Python实现Python C/C++混合编程
- max file descriptors_年轻族的战场!宋MAX强势对比嘉际
- 【转】进阶 JavaScript 必知的 33 个点【进阶必备】
- .NET三种异步模式(APM、EAP、TAP)
- 为什么TypedReference在幕后
- ABP入门系列(21)——切换MySQL数据库
- Oracle客房管理系统论文,[转载]基于WEB的酒店管理系统论文【1】
- mq集群要建传输队列吗_面试官:消息队列这些我必问!
- 百度二年级手工机器人_让父母少弯腰的家务神器——追觅扫拖机器人慧目F9评测...
- 记录一次HBase的scan的分页查询