图像按矩阵缩放:

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 – 如何获取任意矩阵的缩放值?相关推荐

  1. 用MATLAB怎么获取任意像素点的灰度值

    用MATLAB怎么获取任意像素点的灰度值 这两天跑代码遇到一个问题,想要根据图像的灰度值进行阈值分割,通过学习,总结以下两种方法来对任意像素点的灰度值. 方法一 1.首先取得你想要的点的坐标,通过gi ...

  2. Android 在onCreate()方法中获取控件宽高值为0解决方案

    大家很多时候需要在Activity或者Fragment的onCreate()方法中获取声明的空间的高度或者宽度,进行位置移动或者其他操作,但是当调用 view.getHeight() 或者 view. ...

  3. 一、Android Matrix 矩阵

    一.Android矩阵 大学学的线性代数和矩阵基本忘记的差不多了,理解起矩阵Matrix着实有点费劲,记了一次笔记还把左乘右乘记错了. 1.1 使用场景 项目中会使用到矩阵的场景: 背景图片,指定位置 ...

  4. Android Matrix手势缩放自定义view 不止于Imageview

    转载请注明出处:http://blog.csdn.net/coderyue/article/details/51397409 之前写过一篇文章Android TextView 横竖排切换(字方向不变) ...

  5. android 自由缩放图片大小,android Matrix实现图片随意放大缩小或拖动

    本文实例为大家分享了android Matrix图片随意放大缩小和拖动的具体代码,供大家参考,具体内容如下 step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable- ...

  6. android matrix 实现点击旋转,10.4.1 使用Matrix实现旋转、缩放和平移(1)

    10.4  图形特效 10.4.1  使用Matrix实现旋转.缩放和平移(1) 在Android图形API中提供了一个Matrix矩形类,该类具有一个3×3的矩阵坐标.通过该类可以实现图形的旋转.平 ...

  7. Android复习14【高级编程:推荐网址、抠图片上的某一角下来、Bitmap引起的OOM问题、三个绘图工具类详解、画线条、Canvas API详解(平移、旋转、缩放、倾斜)、矩阵详解】

    目   录 推荐网址 抠图片上的某一角下来 8.2.2 Bitmap引起的OOM问题 8.3.1 三个绘图工具类详解 画线条 8.3.16 Canvas API详解(Part 1) 1.transla ...

  8. Android开发学习之ImageView手势拖拽、缩放、旋转

    在Android应用中,图片随手势的拖拽.缩放.旋转在很多场景中都会用到,今天我们要做的就是在ImageView的基础上实现一个可以拖拽.缩放.转转的TouchView. 一.实现原理 OnTouch ...

  9. Android单点触控技术,对图片进行平移,缩放,旋转操作

    转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/42833893),请尊重他人的辛勤劳动成果,谢谢! 相信大家 ...

最新文章

  1. 登陆成功率 99%,云知声携手平安好医生推声纹登录系统
  2. 构建根文件系统之busybox(四)完善
  3. 图像识别 标注(annotation)的反向优化策略
  4. 【转】十分有用的linux shell学习总结
  5. linux系统文件查找实验报告,Linux 文件查找与打包
  6. 阿呆做网站(3)--建数据库
  7. 手机知识:手机的快充技术是什么,看完本文你就明白了!
  8. android学习日记12--布局管理器
  9. 软件开发人员薪资标准 人月_IT从业者培训前后薪资差距近3000块钱
  10. python如何请求curl_Python爬虫偷懒神器 —— 一键构造请求头!
  11. 【Eclipse】启动时报错:No Java virtual machine (已解决)
  12. Python语法命令学习-Day3(作业练习)
  13. matlab xlswrite函数,matlab打开excel (xlsread、xlswrite)实用方法...
  14. IAR+STVP烧录程序排错
  15. Python 爬虫天天基金数据——基金清单
  16. matlab如何打开flt文件,科学网—grb文件的读取 (更新) - 张凌的博文
  17. 惠普暗影精灵键盘灯怎么开
  18. win10平板模式_win10电脑投屏到手机
  19. 大学生月入过万的创业好项目——自媒体
  20. 沅湘流不尽,屈子怨更深,日暮秋风起,潇潇枫树林。

热门文章

  1. Boost.Python实现Python C/C++混合编程
  2. max file descriptors_年轻族的战场!宋MAX强势对比嘉际
  3. 【转】进阶 JavaScript 必知的 33 个点【进阶必备】
  4. .NET三种异步模式(APM、EAP、TAP)
  5. 为什么TypedReference在幕后
  6. ABP入门系列(21)——切换MySQL数据库
  7. Oracle客房管理系统论文,[转载]基于WEB的酒店管理系统论文【1】
  8. mq集群要建传输队列吗_面试官:消息队列这些我必问!
  9. 百度二年级手工机器人_让父母少弯腰的家务神器——追觅扫拖机器人慧目F9评测...
  10. 记录一次HBase的scan的分页查询