Android的图片压缩类ThumbnailUtils

从Android 2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework包下的android.media.ThumbnailUtils位置,可以帮助我们从mediaprovider中获取系统中的视频或图片文件的缩略图,该类提供了三种静态方法可以直接调用获取。

1、extractThumbnail (source, width, height):

Java代码  

  1. /**
  2. *
  3. * 创建一个指定大小的缩略图
  4. * @param source 源文件(Bitmap类型)
  5. * @param width  压缩成的宽度
  6. * @param height 压缩成的高度
  7. */
  8. ThumbnailUtils.extractThumbnail(source, width, height);

2、extractThumbnail(source, width, height, options):

Java代码  

  1. /**
  2. * 创建一个指定大小居中的缩略图
  3. *
  4. * @param source 源文件(Bitmap类型)
  5. * @param width  输出缩略图的宽度
  6. * @param height 输出缩略图的高度
  7. * @param options 如果options定义为OPTIONS_RECYCLE_INPUT,则回收@param source这个资源文件
  8. * (除非缩略图等于@param source)
  9. *
  10. */
  11. ThumbnailUtils.extractThumbnail(source, width, height, options);

3、createVideoThumbnail(filePath, kind):

Java代码  

  1. /**
  2. * 创建一张视频的缩略图
  3. * 如果视频已损坏或者格式不支持可能返回null
  4. *
  5. * @param filePath 视频文件路径  如:/sdcard/android.3gp
  6. * @param kind kind可以为MINI_KIND或MICRO_KIND
  7. *
  8. */
  9. ThumbnailUtils.createVideoThumbnail(filePath, kind);

PS: 此类不向下兼容

时间: 2024-09-30 11:12:26

Android的图片压缩类ThumbnailUtils的相关文章

Android BitmapFactory图片压缩处理(大位图二次采样压缩处理)

Android实际开发中,在加载大量图片的时候,比如ViewPager.GridView.ListView中,加载了大量的比较大图片就容易出现OOM(内存溢出)的异常,这是因为一个应用的最大内存使用只有16M,超过了这个值,就会出现OOM.所以我们实际开发中,要想避免OOM出现就要对相应的图片进行压缩处理. 本文即使用了BitmapFactory和BitmapFactory.Option这两个类,对图片进行相应的尺寸压缩处理.经测试,成功解决了未压缩图片之前出现的OOM异常. 实现效果图: 本D

Android 中图片压缩分析(上)

作者: shawnzhao,QQ音乐技术团队一员 一.前言 在 Android 中进行图片压缩是非常常见的开发场景,主要的压缩方法有两种:其一是质量压缩,其二是下采样压缩. 前者是在不改变图片尺寸的情况下,改变图片的存储体积,而后者则是降低图像尺寸,达到相同目的. 由于本文的篇幅问题,分为上下两篇发布. 二.Android 质量压缩逻辑 在Android中,对图片进行质量压缩,通常我们的实现方式如下所示: ByteArrayOutputStream outputStream = new Byte

Android中图片压缩方案详解

如感觉排版不舒服,可移步至此处查看 图片的展示可以说在我们任何一个应用中都避免不了,可是大量的图片就会出现很多的问题,比如加载大图片或者多图时的OOM问题,可以移步到Android高效加载大图.多图避免程序OOM.还有一个问题就是图片的上传下载问题,往往我们都喜欢图片既清楚又占的内存小,也就是尽可能少的耗费我们的流量,这就是我今天所要讲述的问题:图片的压缩方案的详解. 1.质量压缩法 设置bitmap options属性,降低图片的质量,像素不会减少 第一个参数为需要压缩的bitmap图片对象,

功能这么齐全的图片压缩类,还有谁?

效果图: 压缩日志 com.pengkv.moon I/--->: 原尺寸:1215*1080 com.pengkv.moon I/--->: 最终压缩比例:3倍/新尺寸:405*360 工具特点 * 可以解析单张图片 * 可以解析多张图片 * 处理了压缩过程中OOM * 处理了部分手机照片旋转问题 * 压缩后存储在缓存中,并可以清理 * 压缩后返回缓存路径,方便上传 * 可以从缓存路径读取出Bitmap,方便展示 * 封装在2个类里,方便调用 使用方法 ImageCompressUtil.c

Android之图片压缩

1. 引子 前几天跟服务端的一个妹子联调接口,服务器配置一张图片,几十KB就行,她问我图片从哪里找,我告诉她先随便在网上找个图片链接就行了.结果一运行程序,就崩溃了,出现了下面的异常. java.lang.OutofMemoryError 内存溢出OOM,我当时一脸懵逼. 图-1 一脸懵逼 于是拿着后台返回的链接去查看了一下图片,是一张6M的壁纸. 图-2 我内心几乎是崩溃的 这只是一个简单的联调,而在联调过程中操作不当导致出现OOM问题,大家就当是个玩笑.其实在Android中很容易出现OOM

Android 之 图片压缩

在上一篇文章中(Android之图片变换)主要说明了bitmap的使用,当然其中也包括一点图片压缩的内容,但是没有详细描述,这篇文章就来阐述一下平时Android使用的图片压缩技术 从图片的压缩方式区分:质量压缩和尺寸压缩. 质量压缩是在保持像素的前提下改变图片的位深及透明度等,来达到压缩图片的目的,经过它压缩的图片文件大小会有改变,但是导入成bitmap后占得内存是不变的.因为要保持像素不变,所以它就无法无限压缩,到达一个值之后就不会继续变小了.显然这个方法并不适用与缩略图,其实也不适用于想通

Android 调节图片工具类

package com.base.changeimage; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.Paint; /** * 调节图

Android中图片压缩(质量压缩和尺寸压缩)

关于Android 图片压缩的学习: 自己总结分为质量压缩和像素压缩.质量压缩即:将Bitmap对象保存到对应路径下是所占用的内存减小,但是当你重新读取压缩后的file为Bitmap时,它所占用的内存并没有改变,它会改变其图像的位深和每个像素的透明度,也就是说JPEG格式压缩后,原来图片中透明的元素将消失,所以这种格式很可能造成失真.像素压缩:将Bitmap对象的像素点通过设置采样率,减少Bitmap的像素点,减小占用内存.两种压缩均可能对图片清晰度造成影响. (一) /** * * @desc

PHP图片压缩类,高清无损直接用就ok啦

这个不完全是我自己写的-_-!,但是好用呀 <?php /** * Created by PhpStorm. * Note:文件介绍 * User: Lynly * Date: 2018/11/19 * Time: 14:33 */ class Imgcompress { private $src; private $image; private $imageinfo; private $percent = 0.5; /** * 图片压缩 * @param string $src 源图 * @p