博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 图片的缩略图
阅读量:5922 次
发布时间:2019-06-19

本文共 1714 字,大约阅读时间需要 5 分钟。

<1>简介

之前往往是通过Bitmap、Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图。

现在我给大家介绍一种比较简单的方法:(网上有)

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

<2>ThumbnailUtils工具类

常量:

OPTIONS_RECYCLE_INPUT

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

方法:

    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

 

转载地址:http://ativx.baihongyu.com/

你可能感兴趣的文章
PDF Puppeteer Error
查看>>
Python基础入门教程:Day21-30/Web前端概述
查看>>
Git安装以及常用命令(图文详解)
查看>>
第二天 web 笔记
查看>>
ERC1400提案中文版,关于ERC的新成员,你想要知道的都在这里了
查看>>
C++ 学习笔记之——文件操作和文件流
查看>>
同步和死锁
查看>>
flutter系列集合之App项目集成flutter混合开发详细指南大神必学
查看>>
前端的技术栈是如何规划和演进的
查看>>
设计模式之工厂方法模式
查看>>
配置 babel 支持对象扩展运算符、class 直接赋值变量等新特性
查看>>
HTML5 新标签
查看>>
iOS 使用百度地图进行定位和路线规划
查看>>
用python写一个workflow百度翻译插件
查看>>
动态配置LauncherActivity/根据不同资源文件生成apk
查看>>
沸点2.0更新,“有趣”又“有料”
查看>>
typescript 基础
查看>>
堆和栈
查看>>
wepy框架开发小程序文档
查看>>
java多数据源自动切花
查看>>