android 从matrix获取处理过的图片的实际宽度
16lz
2021-01-23
android 从matrix获取处理过的图片的实际宽度
values传入getValues方法后。。会回填9个数据。
首先有这么张坑B图(rrrrrrrrrrrrrrrrrrrrrrrrr)
这B图简直是对数学不好的人的嘲讽对吧。。好吧大家表害怕。
MSCALE用于处理缩放变换
MSKEW用于处理错切变换
MTRANS用于处理平移变换
哔了狗了。。我怕读者看的心烦,特意放
大点。
拖动,很显而易见,就是MTRANS了!!。。。而float values=float[9];这个
数组存
储矩阵是,第一行是123,第二行是456,最后是789.
首先看左上角的点:很直接的拿了
values[2] values[5]
这不解释。
右下角的点,很容易就想到。直接加图片的尺寸就好了呀!!!
问题是,放大缩小后图片的尺寸变化了!
一般第一反应是,自己写一个。计算并且存储图片的变化。 很显然的,这么做费力不讨好。效率不高。。。。。开始我以为这个坑爹的matrix的作者比较脑残。既然没有做出直接能拿当前图片坐标的方法。那应该也没有想过会记录图片的变化吧。。可是后来我发现我错了。。。。写这段程序的人就是个学数学的购币。。。。。。
没错
MSCALE用于处理缩放变换----的比率
(而且是与初始图像相比的比率)!
于是右下角坐标的公式就出来了
//获取图片的实际宽度 private float getRealWidth() { Rect rectTemp = mImgPic.getDrawable().getBounds(); float[] values = new float[9]; matrix.getValues(values); return rectTemp.width()*values[0]; }其实就是关于怎么获取图片左上角和右下角实时坐标的问题。 关键在这两句
<span></span>float[] values = new float[9]; <span></span>matrix.getValues(values);
values传入getValues方法后。。会回填9个数据。
首先有这么张坑B图(rrrrrrrrrrrrrrrrrrrrrrrrr)
这B图简直是对数学不好的人的嘲讽对吧。。好吧大家表害怕。
MSCALE用于处理缩放变换
MSKEW用于处理错切变换
MTRANS用于处理平移变换
哔了狗了。。我怕读者看的心烦,特意放
大点。
拖动,很显而易见,就是MTRANS了!!。。。而float values=float[9];这个
数组存
储矩阵是,第一行是123,第二行是456,最后是789.
首先看左上角的点:很直接的拿了
values[2] values[5]
这不解释。
右下角的点,很容易就想到。直接加图片的尺寸就好了呀!!!
问题是,放大缩小后图片的尺寸变化了!
一般第一反应是,自己写一个。计算并且存储图片的变化。 很显然的,这么做费力不讨好。效率不高。。。。。开始我以为这个坑爹的matrix的作者比较脑残。既然没有做出直接能拿当前图片坐标的方法。那应该也没有想过会记录图片的变化吧。。可是后来我发现我错了。。。。写这段程序的人就是个学数学的购币。。。。。。
没错
MSCALE用于处理缩放变换----的比率
(而且是与初始图像相比的比率)!
于是右下角坐标的公式就出来了
<span style="white-space:pre"></span>float leftX= values[2]+rectTemp.width()*values[0]; float leftY=values[5]+rectTemp.height()*values[4];
<span></span>float[] values = new float[9]; <span></span>matrix.getValues(values);
<span style="font-size: 12px;"><span style="font-size: 32px;"></span></span>
更多相关文章
- Android中imageView图片放大缩小及旋转功能示例代码
- Android 将View 转化为bitmap 图片
- android RatingBar自定义图片
- Android 中将 "base64图片" 解码为".png"图片
- Android保存图片到系统相册
- Android WebView选择图片、发送图片
- Android 技巧 - listview 里面的图片不能响应onClick事件?
- RadioButton和CheckBox自定义按钮图片的样式
- android 已省内存方式把图片加载到内存