利用缩放因子进行图片的放大缩小,效果图如下

在实现过程中如出现直接崩溃的情况:在全局配置文件中加入android:largeHeap="true"即可解决问题,在文章最后有现成代码
步骤:
1.布局文件 android:scaleType="matrix"记得加上,不然没有效果

2.控件实例化及处理机制的取代


3.进行逻辑处理,并利用Matrix进行图片处理
其中nowScale 及beforeScale为自定义的float类型的全局变量!,具体见最后代码
**

代码如下:
布局文件

<ImageViewandroid:id="@+id/imgzoom"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:scaleType="matrix"android:src="@drawable/myphoto" />

Java文件

public class MainActivity extends Activity {private ImageView mImgzoom;private float beforeScale=1.0f;//之前的伸缩值private float nowScale;//当前的伸缩值@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();myScale();}private void initView() {mImgzoom = (ImageView) findViewById(R.id.imgzoom);}private void myScale(){final ScaleGestureDetector scaleGestureDetector=new ScaleGestureDetector(this, new ScaleGestureDetector.OnScaleGestureListener() {@Overridepublic boolean onScale(ScaleGestureDetector detector) {nowScale=detector.getScaleFactor()*beforeScale;//设置缩放的范围if (nowScale>3||nowScale<0.1){beforeScale=nowScale;return true;}Log.i("Scale","nowScale="+nowScale);Matrix matrix=new Matrix();matrix.setScale(nowScale,nowScale);Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.myphoto);//获取图片bitmap=Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);//转化成bitmap格式mImgzoom.setImageBitmap(bitmap);beforeScale=nowScale;//保存上一次的缩放值!return false;}@Overridepublic boolean onScaleBegin(ScaleGestureDetector detector) {return true;//记得改成ture;}@Overridepublic void onScaleEnd(ScaleGestureDetector detector) {}});mImgzoom.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {scaleGestureDetector.onTouchEvent(event);return true;}});}
}

Android图片的手动放大缩小相关推荐

  1. android 图片手动放大,Android图片的手动放大缩小

    利用缩放因子进行图片的放大缩小,效果图如下 在实现过程中如出现直接崩溃的情况:在全局配置文件中加入android:largeHeap="true"即可解决问题,在文章最后有现成代码 ...

  2. android+放大缩小图片+有jar嘛,Android相册支持点击放大图片,滑动切换图片,手势放大缩小...

    [实例简介] 项目使用了开源框架Universal-Image-Loader 显示本地图库所有照片 点击放大,单击退出 双击放大缩小 支持左右滑动查看图片 支持手势放大缩小图片 [实例截图] [核心代 ...

  3. Html里canvas签名板签名,签字内容还可以手动放大缩小移动

    声明:这篇文章属于一个IT小白的我第一次发,技术内容引自网络.我只是一个搬运工和砖瓦工. 如果内容涉及侵权,请告知我可以删除文章.并且本代码属于技术交流无意涉嫌商业行为. [内容] 实现在线的PDF文 ...

  4. VUE图片预览放大缩小插件viewer

    VUE图片预览放大缩小插件viewer 一.安装依赖 npm install v-viewer --save 二.main.js内引用并注册调用 //main.js import Viewer fro ...

  5. Android开发--Matrix(一)--实现图片的动态放大缩小

    Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作.  首先介绍一下矩阵运算.加法和减法就不用说了,太简单了,对应位相加就好.图像处理,主要用到的是 ...

  6. 我的Android进阶之旅------android Matrix图片随意的放大缩小,拖动(转)

    step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable-hdpi目录下,如下图所示: step2: 设置应用的UI界面,在main.xml中设置: [html] v ...

  7. android image对象改变,【Android学习】动态放大缩小ImageView里的图片,运用Matrix对象来....

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 设置图片缩小的比例 */ double scale=0.8; /* 计算出这次要缩小的比例 */ scaleWidth=(float) (scale ...

  8. Android 展示一个图片,可以双击放大/缩小(放大后可以移动)

    布局***.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

  9. 图片随手势放大缩小功能

    主界面: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...

最新文章

  1. GRNet网络:3D网格进行点云卷积,实现点云补全
  2. Hibernate【XXXX.hbm.xml】总结
  3. 专访William Kennedy:如何学习Go语言
  4. 会话技术 —— Cookie 实现原理 || 在idea编辑器中设置代码的模板
  5. Redis 21问,你接得住不?
  6. 《循序渐进学Spark》一1.6 使用Spark Shell开发运行Spark程序
  7. SAP Spartacus运行时错误 - The pipe cxUrl could not be found!
  8. webpack.optimize.CommonsChunkPulgin is not a constructor???请看CommonsChunkPlugin VS SplitChunksPlugin
  9. asp.net core合并压缩资源文件引发的学习之旅
  10. 边工作边刷题:70天一遍leetcode: day 51
  11. 将获得到的json赋值到下拉框
  12. 怎么让背景铺满整个页面_word怎么让背景图片铺满整个页面
  13. java 获取年和季度_java获取当前时间的年周月季度等的开始结束时间
  14. Docker容器安装Mysql8
  15. 上周热点回顾(12.5-12.11)
  16. 华为云ecs服务器镜像上传到容器镜像服务SWR
  17. 执行rm -rf /效果
  18. python中import上级文件夹
  19. 【20212121】Python基础 05条件控制语句
  20. 2023年数学建模美赛A题(A drought stricken plant communities)分析与编程

热门文章

  1. linux clamav 离线更新病毒库
  2. 2022山东济宁市曲阜市招聘派遣制社区工作者备考试题及答案
  3. 32个实用又高效的免费AI工具,带你走进AI新时代
  4. 【作业】软件工程课程总结博客
  5. 有什么比较好的类似 BugFree 的 bug 管理工具?
  6. 微软Web Deploy在Windows Server 2003上的安装配置
  7. 《游戏感:游戏操控感和体验设计指南》笔记(一)
  8. 感恩节,感恩遇到你们
  9. 台式电脑机箱怎么选?
  10. Install PostgreSql in Fedora 27