Android 图片处理缩放功能
时间:2019-04-20
本文章向大家介绍Android 图片处理缩放功能,主要包括Android 图片处理缩放功能使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
PS:在开发中我们会遇到一些图片处理问题,比如说缓存图片了、限制图片大小了、查看图片了等。上一篇文章介绍了图片的全景效果查看,今天介绍一个图片缩放,我们如果有时间的话,可以自己写一个属于自己的库,里面会用到view的按压、事件分发、手势等一些知识,如果没有时间或者不会其他的方法,不妨来看看这个PhotoView。这是一个图片缩放库,对于这样的还有GitView等,下面我就介绍一些用法。
功能:
- 正常加载图片
- 双击放大
- 手势随意缩放
- 随意拖动查看图片每一个角落
- 结合其他设置可实现翻转
效果图
1:本地图片加载
<ImageView android:layout_width="match_parent" android:layout_height="300dp" android:id="@+id/id_loc" android:scaleType="fitXY" /> <uk.co.senab.photoview.PhotoView android:layout_width="match_parent" android:layout_height="400dp" android:src="@mipmap/ic_launcher" android:id="@+id/id_myimg"/>
第一种方法:
//本地加载方法一 // 设置图片 Drawable bitmap = getResources().getDrawable(R.mipmap.ic_launcher); loc.setImageDrawable(bitmap); // 连接在photoview中 PhotoViewAttacher mAttacher = new PhotoViewAttacher(loc); mAttacher.update();//更新
第二种
//本地方法加载二 PhotoViewAttacher mAttacher; mAttacher = new PhotoViewAttacher(loc); iv.setImageBitmap(bitmap); Glide.with(this).load(R.mipmap.ic_launcher).asBitmap().into(loc); mAttacher.update();
2:网络图片加载
对于网络也是可以用ImageView和PhotoView两种
把ImageView或者PhotoView的对象名直接添加到display中就OK 了。
//加载网络图片 ImageLoader loader= ImageLoader.getInstance(); loader.init(ImageLoaderConfiguration.createDefault(ImageTest.this));//loader初始化 loader.displayImage("https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1529211252&di=1414331e22239ecb5730cbbd0f3793eb&src=http://pic154.nipic.com/file/20180114/26629113_090329120799_2.jpg",loc);//展示图片
下面我们可以看一下源码,其实他也是继承了ImageView
/** * Adds display image task to execution pool. Image will be set to ImageView when it's turn. <br/> * Default {@linkplain DisplayImageOptions display image options} from {@linkplain ImageLoaderConfiguration * configuration} will be used.<br /> * <b>NOTE:</b> {@link #init(ImageLoaderConfiguration)} method must be called before this method call * * @param uri Image URI (i.e. "http://site.com/image.png", "file:///mnt/sdcard/image.png") * @param imageView {@link ImageView} which should display image * @throws IllegalStateException if {@link #init(ImageLoaderConfiguration)} method wasn't called before * @throws IllegalArgumentException if passed <b>imageView</b> is null */ public void displayImage(String uri, ImageView imageView) { displayImage(uri, new ImageViewAware(imageView), null, null, null); }
总结
以上所述是小编给大家介绍的Android 图片处理缩放功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- HDUOJ -----1686
- go语言读取csv文件并输出的方法
- HDUOJ----3342Legal or Not
- go语言基本类型
- HDUOJ----2647Reward
- hduoj------确定比赛名次
- HDUOJ----1165Eddy's research II
- HDUOJ-----1556Color the ball
- HDUOJ-----2175取(m堆)石子游戏
- Golang语言社区-Go语言递归
- go语言mongdb管道使用(一)
- HDUOJ---------2255奔小康赚大钱
- HDUOJ------1711Number Sequence
- HDUOJ---1712 ACboy needs your help
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 使用GANs生成时间序列数据:DoppelGANger论文详解
- CentOS 7使用samba共享文件夹的完整步骤
- Linux环境使用crontab命令设置定时周期性执行任务【含php执行代码】
- linux系统报xfs_vm_releasepage警告问题的处理方法
- linux系统报tcp_mark_head_lost错误的处理方法
- Pandas的列表值处理技巧,避免过多循环加快处理速度
- 详解Linux iptables常用防火墙规则
- Linux文件权限与群组修改命令详解
- Spring-IOC-从单例缓存中获取单例 Bean
- Linux上为你的任务创建一个自定义的系统托盘指示器
- 14个Seaborn数据可视化图
- Linux中的进程守护supervisor安装配置及使用
- 《JavaScript数据结构与算法》读书笔记
- 《JavaScript函数式编程指南》读书笔记
- 冒泡排序