之前对图片进行压缩都是用Bitmap,options一系列组合对图片进行压缩。但是还有一种比较简单的方法,使用ThumbnailUtils工具类可以实现该需求。
ThumbnailUtils类结构:
图中可以看到,该类只有四个公共方法,其他的都是私有方法,一般情况下我们都拿不到。这四个方法中,extractThumbnail(Bitmap,int,int)调用extractThumbnail(Bitmap,int,int,int),还有一个createImageThumbnail(String,int)方法。该方法看注释才知道,该方法只能被系统调用,是被隐藏的,所以主要只有两个方法供我们使用。
方法一:
createVideoThumbnail(String filePath, int kind)
创建手机中某个视频文件的缩略图,返回bitmap对象。参数一很好理解,就是视频对应的路径,参数二是创建缩略图的品质,这就涉及图中最后两个参数,只有这两个参数。相对应的TARGET_SIZE_MICRO_THUMBNAIL比较节省内存,如果视频已经损坏或者格式不支持该方法可能返回null。
方法二:
Bitmap extractThumbnail(
Bitmap source, int width, int height, int options)
前三个参数都很好理解,最后一个参数指的是是否要释放压缩前的资源,该类对外暴露的常量OPTIONS_RECYCLE_INPUT,第三个参数传入该参数表使应该回收输入源图片,除非输出图片就是输入图片。
记录一下方便后边复习。
网友评论