在Android 2.2版本中,新增了一个ThumbnailUtils工具类来是实现缩略图,此工具类的功能是强大的,使用是简单,它提供了一个常量和三个方法。利用这些常数和方法,可以轻松快捷的实现图片和视频的缩略图功能。

下面将依次说明一下这些常数和方法。

常数:

OPTIONS_RECYCLE_INPUT: 从此常量用于表示应该回收extractThumbnail(Bitmap, int, int, int)输入源图片(第一个参数),除非输出图片就是输入图片。

方法:

Bitmap createVideoThumbnail(String filePath, int kind)

从方法名称即可看出,这个方法用于生成视频缩略图。

参数:

filePath: 视频文件路径

kind:  文件种类,可以是 MINI_KIND 或 MICRO_KIND

Bitmap extractThumbnail(Bitmap source, int width, int height, int options)

此方法用于生成一个指定大小的图片缩略图。

参数:

source: 需要被创造缩略图的源位图对象

width: 生成目标的宽度

height: 生成目标的高度

options:在缩略图抽取时提供的选项

Bitmap extractThumbnail(Bitmap source, int width, int height)

此方法用于生成一个指定大小的图片缩略图。

参数:

source: 需要被创造缩略图的源位图对象

width: 生成目标的宽度

height: 生成目标的高度

示例代码:

  • public class MainActivity extends Activity {
  • @Override
  • public void onCreate(Bundle savedInstanceState) {
  • super.onCreate(savedInstanceState);
  • setContentView(R.layout.main);
  • ImageView imageView = (ImageView) findViewById(R.id.image);
  • //通过openRawResource获取一个InputStream对象
  • InputStream input = getResources().openRawResource(R.drawable.girl);
  • //通过InputStream创建BitmapDrawable对象
  • BitmapDrawable girl = new BitmapDrawable(input);
  • //通过BitmapDrawable对象获取Bitmap对象
  • Bitmap bitmap = girl.getBitmap();
  • //利用Bitmpa对象创建缩略图
  • bitmap = ThumbnailUtils.extractThumbnail(bitmap, 51, 108);
  • imageView .setImageBitmap(bitmap);
  • }
  • }

参考:http://www.apkbus.com/forum.php?mod=viewthread&tid=94178

Android拍照生成缩略图的更多相关文章

  1. 手动通知扫描SD卡主动生成缩略图

    最近做项目遇到的难题,调用系统拍照获取不到缩略图,非得关机重启才会生成,所以我们要主动通知系统扫描SD卡生成缩略图, 在Android4.4之前也就是以发送一个Action为“Intent.ACTIO ...

  2. 简单的 Android 拍照并显示以及获取路径后上传

    简单的 Android 拍照并显示以及获取路径后上传 Activity 中的代码,我只贴出重要的事件部分代码 public void doPhoto(View view) { destoryBimap ...

  3. Android_Bitmap_图片的二次采样并生成缩略图

    1.Bitmap概述 Android系统支持几种图片(.png (preferred), .jpg (acceptable), .gif (discouraged)), 其中Bitmap位图#ffff ...

  4. android 获取视频缩略图终极解决方案(ffmpeg)

    http://blog.csdn.net/u010499721/article/details/50338623 前些天有个师弟(在做一个仿LinkInEyes行车记录仪的app)问我怎么获取视频缩略 ...

  5. [Android] 拍照、截图、保存并显示在ImageView控件中

    近期在做Android的项目,当中部分涉及到图像处理的内容.这里先讲述怎样调用Camera应用程序进行拍照,并截图和保存显示在ImageView控件中以及遇到的困难和解决方法.     PS:作者购买 ...

  6. android 拍照上传文件 原生定位

    最近公司需要一个android拍照上传和定位功能的的单一功能页面,一开始选择ionic cordova angular的一套H5框架,但是遇到和上传文件报错的问题,bug找了一天没找到原因,怀疑是io ...

  7. C# webform上传图片并生成缩略图

    其实里面写的很乱,包括修改文件名什么的都没有仔细去写,主要是想记录下缩略图生成的几种方式 ,大家明白就好! void UpImgs() { if (FileUpload1.HasFile) { str ...

  8. phpcms v9图片生成缩略图变成黑色解决方法

    今天客户反映,上传的图片生成缩略图有的图片变成黑色,出现问题就百度了一下,有不少网友也遇到这样的问题,但是官方论坛也没有给出解决办法,那还得靠自己解决了,于是就研究phpcms v9 图片压缩代码.打 ...

  9. ngx_image_thumb模块生成缩略图

    ngx_image_thumb是nginx中用来生成缩略图的模块. 编译前确定已经安装了libcurl-dev libgd2-dev libpcre-dev gd-devel pcre-devel l ...

随机推荐

  1. jmeter 部署问题。

    -D  systemproperty 1.双网卡机器设置 执行 jmeter-server  -Djava.rmi.server.hostname=189.61.143.199 2.在Beanshel ...

  2. golang sync.Cond 类

    众所周知,go语言在多线程方面的支持是十分完备的.在go语言sync包中提供了一个Cond类,这个类用于goroutine之间进行协作. 这个类并不复杂,只有三个函数,Broadcast() , Si ...

  3. DataSet之增删改查操作(DataGridView绑定)

    DataSet数据集,数据缓存在客户端内存中,支持断开式连接.DataGridView控件绑定DataSet时,它自动的改变的DS的行的状态,而且在做增删改查的时候,可以借助SqlCommandBui ...

  4. notepad++ 在每一行最后加上逗号

    1.全选缩进对齐 2.替换功能,入下全部替换 3.在入下替换 4.结果 完成!

  5. C++ 11 可变模板参数的两种展开方式

    #include <iostream> #include <string> #include <stdint.h> template<typename T&g ...

  6. 【MVC5】First AngularJS

    ※本文参照<ASP.NET MVC 5高级编程(第5版)> 1.创建Web工程 1-1.选择ASP.NET Web Application→Web API 工程名为[atTheMovie] ...

  7. SRM 515 DIV1 550pt

    题目大意: n个人进入商店买东西,对于每个顾客都有T.C.P这3个数组,表示有Pj的概率第i个顾客在Tj的时间进入商店以Cj的价格买东西,每个顾客Pj的和小于等于1,保证每个时间只最多只有一个顾客可能 ...

  8. 自定义 alert 弹窗

    1.css样式 li-alert.css @-webkit-keyframes opacity { 0% { opacity: 0; /*初始状态 透明度为0*/ } 50% { opacity: 0 ...

  9. 【Excle数据透视表】如何重复显示行字段的项目标签

    前提:该数据透视表以表格形式显示 解决办法: 通过报表布局设置"重复所有项目标签" 修改前样式 步骤 单击数据透视表中任意单元格→设计→报表布局→重复所有项目标签 修改后样式

  10. 【Datasatge】使用Datastage装载数据时候,报错:Missing record delimiter “”,saw EOF instead

    如题,报错截图如下: 根据以上警告信息我们可以清晰看出,是字段DEFAULT_FLAG出错了!于是我们找到对应的字段,结果一看,导出文件中DS表结构中该字段为DECIMAL(18,2),但是导出文件中 ...