android 图片手动放大,Android图片的手动放大缩小
利用缩放因子进行图片的放大缩小,效果图如下
在实现过程中如出现直接崩溃的情况:在全局配置文件中加入android:largeHeap="true"即可解决问题,在文章最后有现成代码
步骤:
1.布局文件 android:scaleType="matrix"记得加上,不然没有效果
2.控件实例化及处理机制的取代
3.进行逻辑处理,并利用Matrix进行图片处理其中nowScale 及beforeScale为自定义的float类型的全局变量!,具体见最后代码**
代码如下:
布局文件
android: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;//当前的伸缩值
@Override
protected 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() {
@Override
public 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;
}
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
return true;//记得改成ture;
}
@Override
public void onScaleEnd(ScaleGestureDetector detector) {
}
});
mImgzoom.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
scaleGestureDetector.onTouchEvent(event);
return true;
}
});
}
}
本文同步分享在 博客“计蒙不吃鱼”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
android 图片手动放大,Android图片的手动放大缩小相关推荐
- Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
前言:经常会看到有一些app的banner界面可以实现循环播放多个广告图片和手动滑动循环.本以为单纯的ViewPager就可以实现这些功能.但是蛋疼的事情来了,ViewPager并不支持循环翻页.所以 ...
- 我的Android进阶之旅------android Matrix图片随意的放大缩小,拖动(转)
step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable-hdpi目录下,如下图所示: step2: 设置应用的UI界面,在main.xml中设置: [html] v ...
- 微信android手机中点击大图片会自动放大图片
自己使用的是微信Android客户端,使用img标签的src属性将图片设置好了以后,在微信中调试,点击图片竟然放大,自己没写放大图片的方法,也没有调用wx.previewImage()方法,最后查找, ...
- android图片缩放动画,Android动画共享元素(例列表图片放大到详情图片动画)
一.什么是共享元素 简单来说共享元素就是两个Activity中都拥有此元素,在第二个Activity中进行强调而展示一些的动画效果.例如圆按钮的漂移动画.图片的放大动画. 二.为什么使用共享元素 主要 ...
- android+放大缩小图片+有jar嘛,Android相册支持点击放大图片,滑动切换图片,手势放大缩小...
[实例简介] 项目使用了开源框架Universal-Image-Loader 显示本地图库所有照片 点击放大,单击退出 双击放大缩小 支持左右滑动查看图片 支持手势放大缩小图片 [实例截图] [核心代 ...
- 我的Android进阶之旅------Android图片处理(Matrix,ColorMatrix)
本文转载于:http://www.cnblogs.com/leon19870907/articles/1978065.html 在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的 ...
- android studio点击图片,如何在Android Studio中的模拟器图库中添加图像?
如何在Android Studio中的模拟器图库中添加图像? 我正在开发图像过滤器应用程序. 但是,如果我没有任何图像,就无法真正尝试. 我知道我可以在电话中对其进行测试,但这并不相同,因为我需要错误 ...
- Android Hybrid开发实战之图片的交互
最近一直在学习Hybrid开发,如何在H5页面调用Android原生接口,并返回值,以及回调. 学习了一段时间,总算是有点收获,效果也做出来了.于是写下这篇博客,记录一下. 本文中我以2个接口示例,来 ...
- Android NDK编译libjpeg-turbo压缩图片
Android开发中,我们经常要面对图片压缩,大部分人使用Android Bitmap进行压缩,还有一些使用libjpeg压缩,之前有用过libjpeg,压缩效果相当惊艳,在保证图片损失较小的同时,还 ...
最新文章
- 图像检索:几种基于纹理特征的图像检索算法
- Django的是如何工作的
- C++ Primer 5th笔记(7)chapter7 类:字面值常量类
- 【百家稷学】深度学习在计算摄影中的方法与应用(vivo技术分享)
- 创建featureclass,为它赋别名,并移动到数据集下
- 高科技加持,升哲科技助力打造首都智慧社区
- node.js 框架基本功能
- java调度问题的贪心算法_java代码,多机调度问题,怎么解释
- Linux 常用ping命令详解
- 42家企业入选中国卓越健康雇主榜;2020高交会聚焦3大亮点与5大趋势 | 美通企业日报...
- 【基础】PHP变量及变量作用域
- 【最佳实践】瀚高数据库 Windows企业版v6.0.4 的安装
- 新增spring Converter解析器中使用lambda表达式代替匿名内部类是启动报错:... does the class parameterize those types?
- win7无法自动获取dns服务器地址,Windows7系统DNS服务器故障怎么解决?
- 创业初始,王兴每周工作超过100小时,互联网巨头各有各的辛酸
- 富士胶片首次参展贵阳数博会;佳能携多元化专业影像设备亮相CCBN2021;七彩虹建设国内首家GPU博物馆 | 全球TMT...
- 微信小程序获取上一个页面的路由地址
- Router Password Kracker(路由器密码破解工具)
- kafka查看topic列表和topic消息
- 你的电脑里还在装着360杀毒软件吗?最好用的,免费的都在这里,给你的电脑换个好的杀软~!...
热门文章
- vue RSA加密算法(jsencrypt)的使用
- JOJ 上的典型题目分类以及参考书目 (以及我的整理)
- 信号(signal,kill,raise)
- 基于Seq2Seq的问答摘要与推理问题方案
- 用js验证敏感词汇(汉字)
- Learning Better Lossless Compression Using Lossy Compression
- 子佩短信管家 v1.0.0
- 计算机未来发展报告,2020-2026年中国电子计算机行业发展深度调研与未来趋势报告...
- ubuntu系统vim常用命令学习以及ubuntu软件下载安装
- 开关电源常用保护电路-过热、过流、过压以及软启动保护电路