Android图片缩放,压缩总结(inSampleSize,Matrix比较)

Android中经常会遇到需要对图片进行缩放及压缩的操作,下面列出3种图片缩放方法:

一.图片缩放

1.inSampleSize(采样率)

优点:效率较高,解析速度快

缺点:采样率inSampleSize的取值只能是2的次方数(例如:inSampleSize=15,实际取值为8;inSampleSize=17,实际取值为16;实际取值会往2的次方结算),因此该方法不能精确的指定图片的大小

2.Matrix

优点:可以精确地指定图片的缩放大小

缺点:是在原bitmap的基础之上生成的,占内存,效率低.

3.ThumbnailUtils

2.2新加的类,实际上是将上述两种方法进行结合并做了封装.

二.图片压缩

往往图片压缩是为了节省网络流量,进行网络传输,一般需要将图片压缩成byte[] 数组.

	public static byte[] BitmapToByte(Bitmap bitmap) {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		bitmap.compress(CompressFormat.PNG, 80, baos);//其中80参数表示要压缩的比例
		return baos.toByteArray();
	}
时间: 2024-08-22 01:52:38

Android图片缩放,压缩总结(inSampleSize,Matrix比较)的相关文章

Android 图片缩放方法

转载地址 :http://blog.csdn.net/chaihuasong/article/details/7395050 提示: options.inJustDecodeBounds = true;   设置为 true 该图片不需要加入到内存 inSampleSize  只有是2的幂,比如:值是9,实际压缩是8倍,值是10,实际压缩也是8倍. 方法1:按固定比例进行缩放 在开发图片浏览器等软件是,很多时候要显示图片的缩略图,而一般情况下,我们要将图片按照固定大小取缩略图,一般取缩略图的方法

java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了

原文:java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了 源代码下载地址:http://www.zuidaima.com/share/1550463380458496.htm 纯 java 实现的 图片缩放 压缩 裁剪工具!不依赖任何第三方 jar 包 1. 找了很久,市面上再也找不到比它缩放效果还好的代码了 (再不使用任何第三方组件的前提下) 2. 支持缩放 3. 支持剪切 (例如:用户上传头像后剪切成正方形小图) /* * Copyright 2012

android 图片缩放抗锯齿

之前用的时候只设置了antialias属性,其实要设置两个flag才行 1 paint.setFlags(Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); 2 //或者 3 canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG)); android 图片缩放抗锯齿

Android 图片缩放

通过计算图片缩放值进行图片缩放 /** * 根据路径获得突破并压缩返回bitmap用于显示 * * @param filePath * @return */ public static Bitmap getSmallBitmap(String filePath, int width, int height) { final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds

android图片的压缩

1.质量压缩  bmp.compress() 这种压缩方法之所以称之为质量压缩,是因为它不会减少图片的像素.它是在保持像素的前提下改变图片的位深及透明度等,来达到压缩图片的目的.进过它压缩的图片文件大小会有改变,但是导入成bitmap后占得内存是不变的.因为要保持像素不变,所以它就无法无限压缩,到达一个值之后就不会继续变小了.显然这个方法并不适用与缩略图,其实也不适用于想通过压缩图片减少内存的适用,仅仅适用于想在保证图片质量的同时减少文件大小的情况而已. 2.大小压缩 BitmapFactory

android图片缩放、放大demo - Android实例教程

示例原图: 拖动查看其他部分:  放大仔细查看 代码示例,注释比较详细,其他不多讲了 package com.study.drascale;import android.os.Bundle;import android.app.Activity;import android.graphics.Matrix;import android.graphics.PointF;import android.util.FloatMath;import android.view.MotionEvent;imp

Android图片处理——压缩、剪裁、圆角、保存

项目中用到的关于图片的处理 public class UtilPicture { public static final String IMAGE_UNSPECIFIED = "image/*"; /** * 将图片存储至SD卡,需判断是否装有SD卡.是否可读写.是否有空间,否则提示出错 * @param ctx 上下文 * @param jpeg 要存储的照片 * @param quality 压缩照片的质量,0至100,100最佳,一般80-90 * @param filePath

Android图片缩放 指定尺寸

//使用Bitmap加Matrix来缩放 public static Drawable resizeImage(Bitmap bitmap, int w, int h) { Bitmap BitmapOrg = bitmap; int width = BitmapOrg.getWidth(); int height = BitmapOrg.getHeight(); int newWidth = w; int newHeight = h; float scaleWidth = ((float) n

(转)Android中实现区域平均算法在图片缩放里的应用(缩放图片抗锯齿)

摘要:Android图片缩放效果较差,尤其是将大尺寸的图片缩放成小尺寸的图片时,即便是加了抗锯齿,锯齿现象也比较严重:而java sdk里的区域平均算法缩放图片,效果就比较完美了,因为jdk不能直接用于安卓项目中(类冲突),也没找到可以使用的替代的library,最终只好自己写,在此分享! 正文: 目前我知道的Android API中的传统的图片抗锯齿优化处理无非就是以下相关的设置: //缩放抗锯齿Bitmap.createScaledBitmap(bitmap, width, height,