Android开发图片处理常见方法
在开发中我们会遇到一些图片处理问题,比如说缓存图片了、限制图片大小了、查看图片了等。上一篇文章介绍了图片的全景效果查看,今天介绍一个图片缩放,我们如果有时间的话,可以自己写一个属于自己的库,里面会用到view的按压、事件分发、手势等一些知识,如果没有时间或者不会其他的方法,不妨来看看这个photoview。这是一个图片缩放库,对于这样的还有gitview等,下面我就介绍一些用法。
功能:
正常加载图片
双击放大
手势随意缩放
随意拖动查看图片每一个角落
结合其他设置可实现翻转
效果图
1:本地图片加载
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/id_loc"
android:scaletype="fitxy"
/>
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_/timgimage&quality=100&size=b4000_4000&sec=1529211252&di=1414331e22239ecb5730cbbd0f3793eb&src=https://www.2cto.com/uploadfile/2018/0622/20180622112236888.jpg",loc);//展示图片
下面我们可以看一下,其实他也是继承了imageview
/**
* adds display image task to execution pool. image will be set to imageview when it's turn.
* default {@linkplain displayimageoptions display image options} from {@linkplain imageloaderconfiguration
* configuration} will be used.
* note: {@link #init(imageloaderconfiguration)} method must be called before this method call
*
* @param uri image uri (i.e. "https://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 imageview is null
*/
public void displayimage(string uri, imageview imageview) {
displayimage(uri, new imageviewaware(imageview), null, null, null);
}
上一篇: scp机器间远程拷贝
下一篇: 自定义App.config NameValueSectionHandler的bug修复创建自己的NameValueCollectionSectionHandler
推荐阅读
-
Android加载大分辨率图片到手机内存中的实例方法
-
Android程序开发如何处理图像格式类及图像转换
-
Android项目实战(五十八):Android 保存图片文件到本地,相册/图库查看不到的处理
-
Android开发设置RadioButton点击效果的方法
-
Android实现图片添加阴影效果的2种方法
-
android开发PathEffect问题处理
-
Android Webview与ScrollView的滚动兼容及留白处理的方法
-
Android开发实现高仿优酷的客户端图片左右滑动切换功能实例【附源码下载】
-
Android开发教程之Fragment定义、创建与使用方法详解【包含Activity通讯,事务执行等】
-
Android获取本地相册图片和拍照获取图片的实现方法