ImageView使用(适屏、缩放功能)

1、适屏

提取手机的图片库,并且进行选择图片的功能:

Button onClick:
Intent intent = new Intent(
                    Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);// 打开手机的图片库
            startActivityForResult(intent, IMAGE_SELECT);

处理图片,按照手机的屏幕大小显示:

if (requestCode == IMAGE_SELECT) {
                Uri url = data.getData();// 获得图片的路径
                int dw = getWindowManager().getDefaultDisplay().getWidth();// 获得屏幕的宽度
                int dh = getWindowManager().getDefaultDisplay().getWidth() / 2;// 获得屏幕的高度/2
                try {
                    /**
                     * BitampFactory :可以创建一个Bitmap位图对象
                     * BitampFactory.Options为匿名内部类
                     */
                    // 实现对图片的裁剪的类,是一个匿名内部类
                    BitmapFactory.Options factory = new BitmapFactory.Options();
                    factory.inJustDecodeBounds = true;// 如果设置为true,允许查询图片不是按照像素分配给内存
                    // 将一个流转换为Bitmap位图对象
                    Bitmap bmp = BitmapFactory.decodeStream(
                            getContentResolver().openInputStream(url), null,
                            factory);
                    // 对图片的宽度和高度对应手机的屏幕进行匹配
                    int hRatio = (int) Math
                            .ceil(factory.outHeight / (float) dh);
                    // 如果大于1 表示图片的高度大于手机屏幕的高度
                    int wRatio = (int) Math.ceil(factory.outWidth / (float) dw);
                    // 如果大于1表示图片的宽度大于手机屏幕的宽度
                    // 缩放到1/radio的尺寸 和1/radio^2像素
                    if (hRatio > 1 || wRatio > 1) {
                        if (hRatio > wRatio) {
                            factory.inSampleSize = hRatio;
                        } else {
                            factory.inSampleSize = wRatio;
                        }
                    }

                    factory.inJustDecodeBounds = false;
                    // 使用BitmapFactory对图片进行适屏的操作
                    bmp = BitmapFactory.decodeStream(getContentResolver()
                            .openInputStream(url), null, factory);
                    imageView.setImageBitmap(bmp);

                } catch (Exception e) {
                    // TODO: handle exception
                }
            }

2、缩放:

    Intent intent2 = getImageClipIntent();
            startActivityForResult(intent2, IMAGE_CUT);
 if (requestCode == IMAGE_CUT) {
                Bitmap bitmap = data.getParcelableExtra("data");
                imageView.setImageBitmap(bitmap);
            }

ImageView使用(适屏、缩放功能)

时间: 2024-11-05 07:52:55

ImageView使用(适屏、缩放功能)的相关文章

iOS开发UI篇—UIScrollView控件实现图片缩放功能

一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 2.缩放原理 当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的v

iOS UI-UIScrollView控件实现图片缩放功能

一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 2.缩放原理 当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的v

iOS开发UI—UIScrollView实现图片缩放功能

一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 2.缩放原理 当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的v

IOS UIScrollView详解 & 图片缩放功能

一 UIScrollView 简介 UIScrollView是能滚动的视图控件,可以通过滚动的方式来展示类容. 二 UIScrollView常见属性 //设置UIScrollView滚动的位置 @property(nonatomic) CGPoint contentOffset;  //设置UIScrollView内容的尺寸,滚动范围 @property(nonatomic) CGSize contentSize;  //设置UIScrollView的4周增加额外的滚动区域 @property(

iOS用UIScorllView实现两指缩放功能

两指缩放功能不仅可以用UIPinchGestureRecognizer手势来实现,还能用UIScorllView来实现,UIScrollView可以轻松的实现最大与最小缩放值,以及滚动的效果.代码如下: #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; @property (strong, nonat

Android适屏

总结一下自己的适屏经验,肯定有很多不足,这和能力有关,只希望自己不断进步,不断完善,如果有热心肠的"前辈"指导一下,不胜感激! Android5.0已经出来了,说是这个版本对Android屏幕适配做了很多工作,不过对于我这种慢性子的人,我还是耐心的拭目以待吧,5.0之前已经有很多分辨率,刚开始做Android的时候头都大了,不过慢慢的还是积累了一些适屏的经验,在此总结一下. 一.使用资源标识 1.分辨率(密度)标识符适配 Android的分辨率有四大类,以后还会不会更多呢,我也不知道,

php实现图片缩放功能类

http://www.poluoluo.com/jzxy/201312/255447.html <?php /** * Images类是一个图片处理类 * @package application.controllers * @since 1.0 */ class Images { /** * 缩放图片 * @param $source原图片 * @param $newfile新图片 * @param $pre缩放比例 */ public function thumn($source,$pre,

Windows Store App 中使用Scrollviewer实现缩放功能

Windows Store App中可以直接使用Scrollviewer实现缩放功能,基本代码如下: <ScrollViewer Background="Yellow" HorizontalScrollBarVisibility="Visible" MaxZoomFactor="2" MinZoomFactor="0.5" VerticalScrollBarVisibility="Visible" Z

UIScrollView控件实现图片缩放功能

UIScrollView控件实现图片缩放功能 iOS开发UI篇-UIScrollView控件实现图片缩放功能