android获取照片的快照
2012-10-17 10:47
106 查看
当我们在做相册、上传相关的应用的时候需要获取图片的快照,这时候就需要获取图片的快照。
android中专门有一个BitmapFactory类可以来处理这类需求。
实现的步骤如下:
1.首先解析出图片文件(注意在这里为了节约内存将inJustDecodeBounds设为true,这样的话解析的图片的话只有图片的尺寸大小信息)
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inJustDecodeBounds = true;
Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
2.获取图片的实际尺寸,并且算出实际大小和要显示的大小的比例
int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight/ (float) DISPLAYHEIGHT);
int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth/ (float) DISPLAYWIDTH);
3.这儿是关键,为了只获取这个图片的快照需要将inSampleSize属性设置为上一步算出的比例,这样的话显示的图片宽高为 1/比例,大小为 1/比例的平方
if (heightRatio > 1 && widthRatio > 1) {
if (heightRatio > widthRatio) {
bmpFactoryOptions.inSampleSize = heightRatio;
} else {
bmpFactoryOptions.inSampleSize = widthRatio;
}
}
4.最后在重新解析一遍图片
bmpFactoryOptions.inJustDecodeBounds = false;
bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
5.这样的话就获取到了图片的一个快照
android中专门有一个BitmapFactory类可以来处理这类需求。
实现的步骤如下:
1.首先解析出图片文件(注意在这里为了节约内存将inJustDecodeBounds设为true,这样的话解析的图片的话只有图片的尺寸大小信息)
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inJustDecodeBounds = true;
Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
2.获取图片的实际尺寸,并且算出实际大小和要显示的大小的比例
int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight/ (float) DISPLAYHEIGHT);
int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth/ (float) DISPLAYWIDTH);
3.这儿是关键,为了只获取这个图片的快照需要将inSampleSize属性设置为上一步算出的比例,这样的话显示的图片宽高为 1/比例,大小为 1/比例的平方
if (heightRatio > 1 && widthRatio > 1) {
if (heightRatio > widthRatio) {
bmpFactoryOptions.inSampleSize = heightRatio;
} else {
bmpFactoryOptions.inSampleSize = widthRatio;
}
}
4.最后在重新解析一遍图片
bmpFactoryOptions.inJustDecodeBounds = false;
bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
5.这样的话就获取到了图片的一个快照
相关文章推荐
- android获取照片的快照 思路及实现方法
- Android 获取系统相册里的照片及缩略图
- android:如何从照片中获取拍摄地址信息
- Android获取图片资源之——拍照后在程序中显示照片
- android获取SDCard中照片并按照时间顺序显示
- Android_拍照后获取照片的真实路径(应该能适应多款安卓机的,各位试下哈)
- Android中调用系统相机获取照片的尺寸问题
- Android:获取相册照片和获取拍照照片
- Android上使用camera拍照,把获取的照片上传到远程服务器
- Android--使用手机拍照获取图片路径,小米手机选择照片问题处理
- Android笔记之获取手机图库照片和拍照获取照片
- android 从相机或者相册获取照片!
- Android开发之获取相册照片和获取拍照照片二
- TakePhoto是一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库,目前最新版本3.0.0。
- Android上使用camera拍照,把获取的照片上传到远程服务器
- xe5 android 调用照相机获取拍的照片[转]
- Android 拍照(获取原图),选择照片并且剪切图片
- Android实例-从照相机或图库获取照片(XE8+小米2)
- Android开发之获取相册照片和获取拍照照片
- Android从摄像头或相册中获取照片