Android 图片处理缩放功能

 更新时间:2018年06月21日 16:26:47   作者:CMusketeer  
这篇文章主要介绍了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 图片处理缩放功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Flutter实现底部导航

    Flutter实现底部导航

    这篇文章主要为大家详细介绍了Flutter实现底部导航的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • Android国际化之中英文语言切换

    Android国际化之中英文语言切换

    大家好,本篇文章主要讲的是Android国际化之中英文语言切换,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Android如何集成极光短信验证

    Android如何集成极光短信验证

    这篇文章主要为大家详细介绍了Android如何集成极光短信验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Android 10 启动Init进程解析

    Android 10 启动Init进程解析

    这篇文章主要为大家介绍了Android 10 启动Init进程解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 利用百度地图Android sdk高仿微信发送位置功能及遇到的问题

    利用百度地图Android sdk高仿微信发送位置功能及遇到的问题

    这篇文章给大家介绍了利用百度地图Android sdk高仿微信发送位置功能,在实现此功能的时候遇到点小问题,下面小编给大家列出来,需要的朋友参考下吧
    2017-12-12
  • Android定时器和倒计时实现淘宝秒杀功能

    Android定时器和倒计时实现淘宝秒杀功能

    这篇文章主要为大家详细介绍了Android定时器和倒计时实现淘宝秒杀功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Kotlin四大组件中的broadcast广播

    Kotlin四大组件中的broadcast广播

    Android开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库,本篇着重介绍广播组件
    2022-12-12
  • Android编程实现任务管理器的方法

    Android编程实现任务管理器的方法

    这篇文章主要介绍了Android编程实现任务管理器的方法,涉及Android针对程序与进程操作的相关技巧,需要的朋友可以参考下
    2015-12-12
  • Android实现购物车整体页面逻辑详解

    Android实现购物车整体页面逻辑详解

    这篇文章主要为大家详细介绍了Android实现购物车的整体页面逻辑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Android Shape属性创建环形进度条

    Android Shape属性创建环形进度条

    这篇文章主要介绍了Android Shape属性创建环形进度条的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11

最新评论