当前位置: 首页 > 编程笔记 >

Android 图片处理缩放功能

漆雕稳
2023-03-14
本文向大家介绍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 图片处理缩放功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 我以前为MapView做过这项工作,它非常简单,因为有预定义的方法,比如或等。 有人在地图片段中尝试过双击或双击缩放功能吗?我谷歌了一下,但仍然找不到任何解决方案。 我刚刚开始添加UiSetting只 它将由的帮助来实现,还是有什么东西来处理地图片段的双击事件的手势? 注意:这个问题纯粹是关于MapFragment的,与MapView无关,后者已经回答了双击:在Android MapView上缩放

  • 本文向大家介绍Android 图片缩放实例详解,包括了Android 图片缩放实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实现Android中的图片的缩放效果 首先设计布局: 逻辑代码如下: 如果你对矩阵的设置不清楚,还可以使用下列api提供的方法替换上面标记部分的代码:  matrix.setScale(0.5f, 1);     注意:     新建矩阵并设置缩放值        M

  • 本文向大家介绍Android中3种图片压缩处理方法,包括了Android中3种图片压缩处理方法的使用技巧和注意事项,需要的朋友参考一下 Android中图片的存在形式: 1:文件形式:二进制形式存在与硬盘中。 2:流的形式:二进制形式存在与内存中。 3:Bitmap的形式 三种形式的区别: 文件形式和流的形式:对图片体积大小并没有影响。也就是说,如果你手机SD卡上的图片通过流的形式读到内存中,在内

  • 本文向大家介绍PHP图片处理之使用imagecopyresampled函数实现图片缩放例子,包括了PHP图片处理之使用imagecopyresampled函数实现图片缩放例子的使用技巧和注意事项,需要的朋友参考一下 网站优化不能只定在代码上,内容也是网站最需要优化的对象之一,而图像又是网站中最主要的内容。图像的优化最需要处理的就是将所有上传到网站中的大图片自动缩放称小图(在网页中大小够用就行),以

  • 本文向大家介绍Android 背景图片的缩放实现,包括了Android 背景图片的缩放实现的使用技巧和注意事项,需要的朋友参考一下 Android 背景图片的缩放  ONE Goal ,ONE Passion ! 我们看到一些效果,控件中的背景图片会慢慢变大,但是控件不会随着图片的放大而变大.效果如下: 分析: 想让图片变大,而且控件本身大小不能改变,那么就要改变图片自身大小,而不能改变控件大小.

  • 使 UIScrollView 中的图片支持手势缩放。双击图片可以放大图片,或者pinch(捏合)手势可以缩放图片。基本原理是UIScrollView中嵌套UIScrollView,然后再嵌套UIImageView,可对UIImageView进行伸缩。 [Code4App.com]