Android位图相关解码操作

public
class BitMapTools {

?

????/**

???? * 对图片进行解码操作

???? *

???? * @param resource

???? * 资源文件

???? * @param resId

???? * 解码位图的iD

???? * @param reqWidt

???? * 指定输出位图的宽度

???? * @param reqHight

???? * 制定输出位图的高度

???? * @return

???? */

????public
static Bitmap decodeBitmap(Resources resource, int resId,

????????????int reqWidth, int reqHight) {

????????// 对位图进行解码的参数设置

????????BitmapFactory.Options option = new BitmapFactory.Options();

????????// 在对位图进行解码的过程中,避免申请内存

????????option.inJustDecodeBounds = true;

????????BitmapFactory.decodeResource(resource, resId, option);

????????//对图片进行压缩

????????option.inSampleSize = calculateInSimpleSize(option, reqWidth, reqHight);

????????option.inJustDecodeBounds = false;

????????return BitmapFactory.decodeResource(resource, resId, option);

????}

?

????/**

???? * 计算相关压缩比例

???? * @param option

???? * @param reqWidth

???? * @param reqHight

???? * @return

???? */

????public
static
int calculateInSimpleSize(BitmapFactory.Options option,

????????????int reqWidth, int reqHight) {

????????// 获取图片的原始宽高

????????int imageHight = option.outHeight;

????????int imageWidht = option.outWidth;

?

????????// 压缩比例

????????int inSimpleSize = 1;

????????if (imageHight > reqHight || imageWidht > reqWidth) {

????????????final
int heightRatio = Math.round(1.0f * imageHight / reqHight);

????????????final
int widthRatio = Math.round(1.0f * imageWidht / reqWidth);

????????????inSimpleSize = heightRatio < widthRatio ? heightRatio : widthRatio;

????????}

????????return inSimpleSize;

????}

}

时间: 2024-08-22 00:05:41

Android位图相关解码操作的相关文章

【Mood-12】Android开发相关书籍推荐

新年伊始,找到Android进阶干货若干,2015拜读. 1.Android应用UI设计模式 目前,谷歌Android操作系统在移动市场中风头正劲,并且未来发展势不可挡.<Android应用UI设计模式>面向Android 4.0+操作系统,是市面上第一本深入解析Android界面设计的佳作.<Android应用UI设计模式>从适用于移动设备和平板的通用模式以及 Android UI设计指南出发,深入探讨了58种重要的Android交互设计模式及其应用.每种模式登场之前,先用基本知

[Android系列—] 4. 添加操作栏(Action Bar)

前言 操作栏是最重要的设计元素之一,使用它来实现你的应用程序活动.通过提供多种用户界面功能, 使应用程序快速和其他的Andorid应用程序一致, 以便被用户熟悉和接受. 主要功能包括: 1. 标识你的应用程序,指示在应用程序的用户的位置. 2. 能很方便的操作重要的功能(像搜索功能) 3. 导航和视图切换功能(使用制表符或下拉列表) 类似的效果如下: 设置操作栏 在基本的使用状况是, 操作栏在左边显示活动的标题和应用的图标. 类似: 设置一个基本的操作栏需要你使用的应用活动主题支持操作栏, 这和

[Android]蓝牙相关接口及方法

首先,要操作蓝牙,先要在AndroidManifest.xml里加入权限 <uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permissionandroid:name="android.permission.BLUETOOTH" /> 然后,看下api,Android所有关于蓝牙开发的类都在android.bluetooth包下,共有8个类

我的Android开发相关文章

Pro Android学习笔记: Pro Android学习笔记(一零七):2D动画(2):layout渐变动画 2014.7.25 Pro Android学习笔记(一零六):2D动画(1):frame by frame 2014.7.21 Pro Android学习笔记(一零五):Alarm Manager(3):request code 2014.7.17 Pro Android学习笔记(一零四):Alarm Manager(2):周期发送和取消 2014.7.15 Pro Android学

android中的数据库操作(转)

android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库   android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库,它是用c语言构建的.相关简介可以从链接查看. 2.数据库基本知识观花   对于一些和我一样还没有真正系统学习数据库技术的同学来说,把SQL92标准中的一些基本概念.基本语句快速的了解一下,是很有必要的,这样待会用Android的da

[Android新手区] SQLite 操作详解--SQL语法

该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法  :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解析大部分标准SQL语言.但它也省去了一些特性并且加入了一些自己的新特性.这篇文档就是试图描述那些SQLite支持/不支持的SQL语法的.查看关键字列表. 如下语法表格中,纯文本用蓝色粗体显示.非终极符号为斜体红色.作为语法一部分的运算符用黑色Roman字体表示. 这篇文档只是对SQLite实现的SQ

android database 相关

以前用database从来都是直接执行,db.execute(). 今天看公司1.0的源码中又学习了一个逻辑, SecureSQLiteDatabase db = null; try { db = mOpenHelper.openDatabase(); db.beginTransaction(); try { todo 数据操作 }; //db 所要执行的操作 db.update(MstDataEntry.TABLE_NAME, values, whereClause, whereArgs);

Android UI相关开源项目库汇总

最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Side-Menu.Android ★3865 - 创意边侧菜单 FlowingDrawer ★1744 - 向右滑动流动抽屉效果 SlidingRootNav ★1338 - 仿DrawerLayout的View

Android 蓝牙的常用操作

最近对Android设备的蓝牙操作进行了一些研究, 下面做一些总结, 版本是4.4,列出的解决方案多来源于网络,感谢强大的网友们: 操作蓝牙可以分为常规的操作,和非常规的操作.所谓常规的操作,就是界面上有提示,需要客户许可进行的一些操作.非常规的则通常是采用反射等手段,达到不知不觉连接蓝牙的目的. 一. 常规操作: 1. 获取蓝牙的操作接口: BluetoothAdapter mBtAdapter = BluetoothAdapter.getDefaultAdapter(); 蓝牙的相关操作基本