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);
	}

原文地址:https://www.cnblogs.com/cmusketeer/p/9192687.html

时间: 2024-08-01 16:12:56

Android图片处理--缩放的相关文章

Android图片旋转,缩放,位移,倾斜,对称完整示例(二)——Bitmap.createBitmap()和Matrix

MainActivity如下: package cc.c; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Matrix; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.widget.ImageView; /** * Demo描述: * 利用B

Android图片旋转,缩放,位移,倾斜,对称完整示例(一)——imageView.setImageMatrix(matrix)和Matrix

MainActivity如下: import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView; import android.app.Activity; import android.graphics.Matrix; /** * Demo描述:

Android图片的缩放效果

一.概述 Android 图片要实现:手势滑动,双击变大,多点触控的效果. 其实是有一定难度的,我们需要用Matrix ,GestureDetector 等等需要完成一个复杂的逻辑才能实现,然而今天我要说的并不是这种方法,而是一个第三方库Photoview,它使得完成图片缩放工作只需要3-5行代码就搞定了. 是不是很爽... 二.使用方法 github:https://github.com/chrisbanes/PhotoView 如果用AS需在引入如下库文件(目前是最新的): dependen

Android图片旋转,缩放,位移,倾斜,对称完整演示样例(一)——imageView.setImageMatrix(matrix)和Matrix

MainActivity例如以下: import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView; import android.app.Activity; import android.graphics.Matrix; /** * Demo描

android图片拖动缩放

这篇图片拖拽缩放也是我在项目中用到的,今天整理一下,将源码奉献给大家,希望对大家以后碰到相似的问题有帮助.android 大图片拖拽缩放 这篇就不做过多介绍了,直接上源码: 1 public class SpacePageActivity extends Activity { 2 3 private LinearLayout linnerLayout_spacepage; 4 private RelativeLayout relativeLayout_spacepage; 5 private B

[android] 图片的缩放

界面布局,线性布局,竖直排列,两个ImageView 获取到两个ImageView对象 调用BitmapFactory.decodeResource(res,id)方法,获取Bitmap对象 参数:res是getResource(),id是资源id比如:R.drawable.xxx 调用ImageView对象的setImageViewBitmap(),参数:Bitmap对象 获取可编辑的Bitmap对象 调用Bitmap对象的createBitmap(width,height,config)方法

android photoview 图片放大缩放功能 ImageView

android 图片浏览功能  图片放大缩小 使用 photoview 双击或双指缩放的ImageView 使用多点触控和双击. 滚动,以平滑滚动甩. 实际效果参考 图片来自 : http://a.code4app.com/android/PhotoView/5241a4026803fa1327000000 下载完成后 导入IDE里面 将lib  添加进来 贴出 photoview的代码: /****************************************************

Android实现对图片的缩放、剪切、旋转、存储

Android实现对图片的缩放.剪切.旋转.存储 一.问题描述 在开发中,当我们需要的有一张大图片同时还需要一些小图片时,我们只需要通过代码对此图片进行不同比例的缩放即可,这样大大节约资源,减小了安装包的尺寸 .除缩放外,我们还经常对图片进行其他操作如裁剪.旋转.存储等. 这样我们可以编写对于图片进行处理的通用组件,方便开发.下面就分享一下对图片进行处理的组件BitmapUtil,案例界面: 二.技术点描述 1.通过BitmapFactory取得Bitmap Bitmap bm=BitmapFa

【Android】21.4 图片动画缩放示例

分类:C#.Android.VS2015: 创建日期:2016-03-21 一.简介 该例子演示如何动画缩放图片,实现类似"点击看大图"的效果. 二.示例 1.运行截图    2.设计步骤 (1)添加图片 在Resources/no-dpi文件夹下添加4张图片(2个缩略图,2个大图). (2)添加ch2104MyImageButton.cs using Android.Content; using Android.Widget; using System.Drawing; using