android 自定义的小工具类(1)获取图片和视频的缩微图

获取图片缩微图:

public Bitmap getImageThumbnail(String uri, int width, int height){
        Bitmap bm = null;
        //缩略图
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;//设置为true, 不会返回位图, 但仍会设置字段, 允许查找位图而不分配内存
        //获取原图,将uri路径的文件解析成bitmap ,
        bm = BitmapFactory.decodeFile(uri, options);
        //设置缩略图之后,将inJustdecodeBounds设置为false, 再获取位图,就是获取一个缩略之后的位图
        options.inJustDecodeBounds = false;
        int beWidth = options.outWidth/width;
        int beHeight = options.outHeight/height;
        int be = 1;
        if(beWidth < beHeight){
            be = beWidth;
        }else {
            be = beHeight;
        }
        if(be <= 1){
            be = 1;
        }
        /**
         * If set to a value > 1,
         * requests the decoder to subsample the original image,
         * returning a smaller image to save memory.
         */
        options.inSampleSize = be;
        //重新获取bitmap, 这个时候获取的就是缩略图
        bm = BitmapFactory.decodeFile(uri, options);
        //创建一个指定width,height的位图
        bm = ThumbnailUtils.extractThumbnail(bm, width, height,
                ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
        return bm;

    }
    

获取视频缩微图:

 //kind MediaStore.Images.Thumbnails.MICRO_KIND    public Bitmap getVideoumbnail(String uri, int width, int height, int kind){
        Bitmap bm = null;
        bm = ThumbnailUtils.createVideoThumbnail(uri, kind);
        bm = ThumbnailUtils.extractThumbnail(bm, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
        return bm;
    }

sd

时间: 2024-10-19 08:40:16

android 自定义的小工具类(1)获取图片和视频的缩微图的相关文章

Android 获取图片或视频略缩图

/** * 根据指定的图像路径和大小来获取缩略图 此方法有两点好处: 1. * 使用较小的内存空间,第一次获取的bitmap实际上为null,只是为了读取宽度和高度, * 第二次读取的bitmap是根据比例压缩过的图像,第三次读取的bitmap是所要的缩略图. 2. * 缩略图对于原图像来讲没有拉伸,这里使用了2.2版本的新工具ThumbnailUtils,使 用这个工具生成的图像不会被拉伸. * * @param imagePath * 图像的路径 * @param width * 指定输出图

android 获取 图片或视频略缩图

/** * 根据指定的图像路径和大小来获取缩略图 此方法有两点好处: 1. * 使用较小的内存空间,第一次获取的bitmap实际上为null,只是为了读取宽度和高度, * 第二次读取的bitmap是根据比例压缩过的图像,第三次读取的bitmap是所要的缩略图. 2. * 缩略图对于原图像来讲没有拉伸,这里使用了2.2版本的新工具ThumbnailUtils,使 用这个工具生成的图像不会被拉伸. * * @param imagePath * 图像的路径 * @param width * 指定输出图

Android三级缓存机制工具类的实现

一.三级缓存概述 (一)三级缓存的三级 第一级是内存,最快,不需要网络 第二级是本地,不需要网络 第三级是网络,需要网络请求 三级缓存机制的思想: 如果在内存中获取到数据,就不去本地和网络中获取. 如果在本地中获取到数据就不去网络中获取, 如果内存和本地中不存在数据,就要去网络中请求数据 三级缓存技术能有效节省用户的流量,但是也会增加一些内存负担. 二.使用示例展示三级缓存工具栏类的使用 程序运行后的页面: 虽然只用一个按钮和一个图片显示,但是通过测试(联网状态和断网状态对比)能知道图片是从网络

Android中常用的工具类01

1.图片和视频缩略图工具类 import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.ThumbnailUtils; /** * 缩略图生成工具类 * @author * */ public class ThumbnailGenerateUtils { private ThumbnailGenerateUtils(){}; /** * 根据指定的图像路径和大小来获取缩略图

ANDROID开发实用小工具

分享一些 Android开发中的实用小工具,你有发现好工具吗? 来这里分享一下呗 一.find bugs 静态检查工具 http://findbugs.sourceforge.net/ FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析 详情请参考:http://baike.baidu.com/view/2367937.htm 二.内测宝 - 测试分发管理平台 国内功能最完

Android开发调试日志工具类[支持保存到SD卡]

直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.net.UnknownHostException; import java.text.SimpleDateFormat; impor

Android调节屏幕亮度工具类BrightnessUtils

如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 项目需要做了一个调节屏幕的工具类 /* * Android调节屏幕亮度工具类 * by itas109 * http://blog.csdn.net/itas109 * * 注意:需要添加setting权限 * <uses-permission android:name="android.permission.WRITE_SETTINGS" /> */ publ

Android自定义View——实现理财类APP七日年化收益折线图效果

这段时间的自定义View学习,学会了绘制柱状图.绘制折线图.绘制进度控件,那我们今天就来聊聊另外一种自定义的View,这就是我们常见的七日年化收益折线图效果.先看看长什么样. 这就是效果图了,元素相对而言还是比较多的,这里有线.柱状图.文字.折线.点等等.看起来好像很复杂,但是呢,只要一步一步的实现,那还是可以达到这种效果的,之前我们说过的, 自定义View,就像是在photo shop里面画图,想要什么就画什么,我们可以有很多的画笔工具,也可以有很多的图层. 先看看我们这一次用到哪些变量. p

Android中常用的工具类02

1.读取手机联系人信息 一般用在读取手机通讯录上传,这一块比较多. import java.util.ArrayList; import java.util.List; import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.provider.ContactsContract.CommonDataKinds.Phon