android 图片ps处理图片大小,Android图片处理--缩放

PS:在开发中我们会遇到一些图片处理问题,比如说缓存图片了、限制图片大小了、查看图片了等。上一篇文章介绍了图片的全景效果查看,今天介绍一个图片缩放,我们如果有时间的话,可以自己写一个属于自己的库,里面会用到view的按压、事件分发、手势等一些知识,如果没有时间或者不会其他的方法,不妨来看看这个PhotoView。这是一个图片缩放库,对于这样的还有GitView等,下面我就介绍一些用法。

功能:

正常加载图片

双击放大

手势随意缩放

随意拖动查看图片每一个角落

结合其他设置可实现翻转

效果图

AAffA0nNPuCLAAAAAElFTkSuQmCC

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:class="lazyload" src="https://img-blog.csdnimg.cn/2022010702050949162.png" data-original="@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.

* 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. "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 imageView is null */

public void displayImage(String uri, ImageView imageView) {

displayImage(uri, new ImageViewAware(imageView), null, null, null);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值