Android学习笔记进阶20之得到图片的缩略图
<1>简介
之前往往是通过Bitmap、Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图。
现在我给大家介绍一种比较简单的方法:(网上有)
在Android 2.2版本中,新增了一个ThumbnailUtils工具类来是实现缩略图,此工具类的功能是强大的,使用是简单,它提供了一个常量和三个方法。利用这些常数和方法,可以轻松快捷的实现图片和视频的缩略图功能。
<2>ThumbnailUtils工具类
常量:
OPTIONS_RECYCLE_INPUT
从此常量用于表示应该回收extractThumbnail(Bitmap, int, int, int)输入源图片(第一个参数),除非输出图片就是输入图片。
方法:
Bitmap createVideoThumbnail(String filePath, int kind)
创建一张视频的缩略图。如果视频已损坏或者格式不支持可能返回null。
参数:
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: 生成目标的高度
<3>具体实现:

- package xiaosi.thumbnail;
 - import android.app.Activity;
 - import android.graphics.Bitmap;
 - import android.graphics.BitmapFactory;
 - import android.graphics.drawable.BitmapDrawable;
 - import android.graphics.drawable.Drawable;
 - import android.media.ThumbnailUtils;
 - import android.os.Bundle;
 - import android.widget.ImageView;
 - public class ThumbnailActivity extends Activity {
 - private Bitmap bitmap = null;
 - private ImageView image;
 - @Override
 - public void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - setContentView(R.layout.main);
 - image = (ImageView) findViewById(R.id.image);
 - //得到原图片
 - bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.v);
 - //得到缩略图
 - bitmap = ThumbnailUtils.extractThumbnail(bitmap, 100, 100);
 - image.setImageBitmap(bitmap);
 - }
 - }
 
main.xml
- <?xml version="1.0" encoding="utf-8"?>
 - <LinearLayout
 - xmlns:android="http://schemas.android.com/apk/res/android"
 - android:orientation="vertical"
 - android:background="#999999"
 - android:layout_width="fill_parent"
 - android:layout_height="fill_parent">
 - <ImageView
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content"
 - android:src="@drawable/v"
 - android:layout_marginLeft="10dip"/>
 - <TextView
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content"
 - android:text="缩略图:"
 - android:textColor="#000000"/>
 - <ImageView android:id="@+id/image"
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content"
 - android:layout_marginLeft="10dip"/>
 - </LinearLayout>
 
Android学习笔记进阶20之得到图片的缩略图的更多相关文章
- Android学习笔记进阶20 之得到图片的缩略图
		
<1>简介 之前往往是通过Bitmap.Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图. 现在我给大家介绍一种比较简单的方法:(网上有) 在A ...
 - Android学习笔记进阶19 之给图片加边框
		
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...
 - Android学习笔记进阶19之给图片加边框
		
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...
 - Android学习笔记进阶之在图片上涂鸦(能清屏)
		
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
 - Android学习笔记进阶16之BitmapShader
		
<1>简介 具体的看一下博文:Android学习笔记进阶15之Shader渲染 public BitmapShader(Bitmap bitmap,Shader.TileMode ti ...
 - Android学习笔记进阶17之LinearGradient
		
具体的看一下博文:Android学习笔记进阶15之Shader渲染 package xiaosi.BitmapShader; import android.app.Activity; import a ...
 - Android学习笔记进阶18 之画图并保存图片到本地
		
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
 - Android学习笔记进阶18之画图并保存图片到本地
		
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
 - Android 学习笔记进阶十二之裁截图片
		
package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; ...
 
随机推荐
- etTimeout来实现setInterval
			
etTimeout来实现setInterval <script type="text/javascript"> function interval(func, w, t ...
 - HN0I2000最优乘车 (最短路变形)
			
HN0I2000最优乘车 (最短路变形) 版权声明:本篇随笔版权归作者YJSheep(www.cnblogs.com/yangyaojia)所有,转载请保留原地址! [试题]为了简化城市公共汽车收费系 ...
 - 跨域post 及 使用token防止csrf 攻击
			
环境: 后台使用的python - flask 前台使用angular框架 1.一个跨域post的样例: 跨域post有多种实现方式: 1.CORS:http://blog.csdn.net/hfah ...
 - Delphi新语法 For ..In
			
首先我们要知道哪些类型可以用For In吧,下面就是: for Element in ArrayExpr do Stmt; 数组 for Element in StringExpr do S ...
 - 22.IntelliJ IDEA 切换 project
			
转自:https://blog.csdn.net/qwdafedv/article/details/73838628?utm_source=blogxgwz0 1.file->open 2.选择 ...
 - Spring Security Java Config Preview--官方
			
原文地址:[1]https://spring.io/blog/2013/07/02/spring-security-java-config-preview-introduction/ [2]https ...
 - oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息
			
来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * fro ...
 - css3 背景过度实现
			
代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&q ...
 - Codefroces 849 A,B
			
A. Odds and Ends time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
 - vmware-images
			
https://virtualboxes.org/images/centos/ https://www.osboxes.org/vmware-images/