• Android 图片处理缩放功能


    功能:

    • 正常加载图片
    • 双击放大
    • 手势随意缩放
    • 随意拖动查看图片每一个角落
    • 结合其他设置可实现翻转
    • 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);
        }
  • 相关阅读:
    HBuilder手机Iphone运行提示“未受信用的企业级开发者”
    在阿里云服务器ubuntu14.04运行netcore
    微信图片上传
    一段sql的优化
    设计模式之单例模式(Singleton)
    PDF.NET+EasyUI实现只更新修改的字段
    操作系统进程调度之分时,优先,分时优先
    2020最新Servlet+form表单实现文件上传(图片)
    Php7+Mysql8实现简单的网页聊天室功能
    JavaSwing+Mysql实现简单的登录界面+用户是否存在验证
  • 原文地址:https://www.cnblogs.com/zaixiachengxuyuan/p/14465505.html
Copyright © 2020-2023  润新知