- 浏览: 189526 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
arpenker:
这个命令行运行的前提是要基于LINUX服务器能够自己手动安装F ...
linux java转amr为mp3 -
smith789:
使用的类都废弃了
HttpUtil工具类 -
s21109:
自定义TabHost之手势切换Tab视图(不带动画)
第一:我们先看下质量压缩方法:
第二:图片按比例大小压缩方法(根据路径获取图片并压缩):
第三:图片按比例大小压缩方法(根据Bitmap图片压缩):
private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 100; while ( baos.toByteArray().length / 1024>100) { //循环判断如果压缩后图片是否大于100kb,大于继续压缩 baos.reset();//重置baos即清空baos image.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中 options -= 10;//每次都减少10 } ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());//把压缩后的数据baos存放到ByteArrayInputStream中 Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);//把ByteArrayInputStream数据生成图片 return bitmap; }
第二:图片按比例大小压缩方法(根据路径获取图片并压缩):
private Bitmap getimage(String srcPath) { BitmapFactory.Options newOpts = new BitmapFactory.Options(); //开始读入图片,此时把options.inJustDecodeBounds 设回true了 newOpts.inJustDecodeBounds = true; Bitmap bitmap = BitmapFactory.decodeFile(srcPath,newOpts);//此时返回bm为空 newOpts.inJustDecodeBounds = false; int w = newOpts.outWidth; int h = newOpts.outHeight; //现在主流手机比较多是800*480分辨率,所以高和宽我们设置为 float hh = 800f;//这里设置高度为800f float ww = 480f;//这里设置宽度为480f //缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可 int be = 1;//be=1表示不缩放 if (w > h && w > ww) {//如果宽度大的话根据宽度固定大小缩放 be = (int) (newOpts.outWidth / ww); } else if (w < h && h > hh) {//如果高度高的话根据宽度固定大小缩放 be = (int) (newOpts.outHeight / hh); } if (be <= 0) be = 1; newOpts.inSampleSize = be;//设置缩放比例 //重新读入图片,注意此时已经把options.inJustDecodeBounds 设回false了 bitmap = BitmapFactory.decodeFile(srcPath, newOpts); return compressImage(bitmap);//压缩好比例大小后再进行质量压缩 }
第三:图片按比例大小压缩方法(根据Bitmap图片压缩):
private Bitmap comp(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos); if( baos.toByteArray().length / 1024>1024) {//判断如果图片大于1M,进行压缩避免在生成图片(BitmapFactory.decodeStream)时溢出 baos.reset();//重置baos即清空baos image.compress(Bitmap.CompressFormat.JPEG, 50, baos);//这里压缩50%,把压缩后的数据存放到baos中 } ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray()); BitmapFactory.Options newOpts = new BitmapFactory.Options(); //开始读入图片,此时把options.inJustDecodeBounds 设回true了 newOpts.inJustDecodeBounds = true; Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, newOpts); newOpts.inJustDecodeBounds = false; int w = newOpts.outWidth; int h = newOpts.outHeight; //现在主流手机比较多是800*480分辨率,所以高和宽我们设置为 float hh = 800f;//这里设置高度为800f float ww = 480f;//这里设置宽度为480f //缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可 int be = 1;//be=1表示不缩放 if (w > h && w > ww) {//如果宽度大的话根据宽度固定大小缩放 be = (int) (newOpts.outWidth / ww); } else if (w < h && h > hh) {//如果高度高的话根据宽度固定大小缩放 be = (int) (newOpts.outHeight / hh); } if (be <= 0) be = 1; newOpts.inSampleSize = be;//设置缩放比例 //重新读入图片,注意此时已经把options.inJustDecodeBounds 设回false了 isBm = new ByteArrayInputStream(baos.toByteArray()); bitmap = BitmapFactory.decodeStream(isBm, null, newOpts); return compressImage(bitmap);//压缩好比例大小后再进行质量压缩 }
发表评论
-
解决ScrollView中嵌套ListView或RecycleView卡顿问题
2016-01-20 02:23 1951解决问题:<listview上下滑动卡顿> 只要 ... -
解决Eclipse启动速度过慢的问题
2016-01-13 20:20 2512Delete the following directory: ... -
Android,iOS打开手机QQ与指定用户聊天界面
2016-01-07 18:19 1790在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服 ... -
Android Studio debug使用release的签名
2015-12-09 17:50 1286当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应 ... -
解决Android SDK Manager更新、下载速度慢
2015-10-12 16:39 655转自: [urlhttp://blog.163.com/bob ... -
android httpClient 支持HTTPS的2种处理方式
2015-09-11 17:37 1352http://my.oschina.net/blackylin ... -
带进度条的WebView
2015-08-29 16:53 632public class ProgressWebView ex ... -
Android中javascript和java互相调用
2015-08-29 16:06 626http://www.jb51.net/article/599 ... -
仿微信朋友圈点击图片变暗
2015-08-20 22:35 1051import android.content.Context; ... -
Android图片缓存框架Fresco极其强大的配置
2015-07-20 21:12 1352Android图片缓存框架Fresco极其强大的配置,配置强大 ... -
Android实现ViewPager+RadioGroup滑动效果
2015-07-19 15:05 1226有滚动标识的滑动条,顺畅无比哦 -
Android实现可用性非常高的滚动数字条
2015-07-18 15:48 5116对外提供接口,可以是调用并改变数字滚动条的样式 -
Java实现二维码生成和解析代码
2015-07-05 16:36 1075请下载附件,查看代码 -
利用zxing-core.jar生成和解析二维码
2015-07-05 15:30 1584Zxing是Google提供的关于条码(一维码、二维码)的解析 ... -
Android-webview和js脚本语言交互的时候怎么获取js方法的返回值
2015-07-02 12:10 2102http://zhidao.baidu.com/questio ... -
JS判断手机端是否安装了某个客户端APP应用
2015-05-15 17:02 3365最近在做项目的wap版,有个需求就是,先判断手机上是否有我们的 ... -
Android选图裁剪实现
2015-04-29 18:22 529看附件顶顶顶顶顶 -
Eclipse转AS必看设置
2015-04-26 00:01 1456常用设置: 1.Tab不用4个空格 Code Style-& ... -
android软键盘挤压界面的问题解决方法
2015-04-09 11:59 2856AndroidManifest.xml 中设置 android ... -
MultipleImagePick 从相册中选择图片,可以单选和多选。
2015-04-08 10:28 2116http://jcodecraeer.com/a/openso ...
相关推荐
7. **数据流处理**:在压缩图片时,理解如何读取和写入数据流是非常重要的。例如,可以将 Bitmap 对象转换为 ByteArrayOutputStream,然后使用相应的压缩算法(如 GZIPOutputStream)进行压缩。 8. **图片压缩库**...
我在CSDN总结的一些比较靠谱的比较靠的4个项目希望能帮到大家。
在进入Android开发的世界之前,首先需要正确地配置Android开发环境。这个过程可能对初学者来说显得有些复杂,但通过以下详尽的步骤,你将能够一步到位地搭建一个可靠的Android开发环境。 一、安装Java Development ...
这是一款业内领先的电脑图片...有视频压缩需要的亲们也可以满足需求哦,那么大家想知道压缩图片用什么软件好用或者还不清楚图片无损压缩软件哪个好吗,威航软件园可以很负责任的告诉大家这绝对是一个非常靠谱的选择。
- `res/`目录:包含应用的资源文件,如布局文件(`activity_main.xml`)、图片等。 - `src/`目录:源代码文件,包括主活动类`MainActivity.java`。 - `libs/`目录(可选):可能包含项目依赖的库文件。 - `build...
在【压缩包子文件的文件名称列表】中,"靠谱助手1.4.1073"很可能是该版本的安装程序,其版本号1.4.1073表示这是靠谱助手的第1073个更新版本,通常意味着软件经过多次迭代和优化,可能包含性能提升、新功能添加或者...
数据标注有哪些平台比较靠谱,数据标注有哪些平台可以学习
不仅如此,文件的拖拽功能让资料分享变得更加直接,提升了办公效率,这对于经常需要处理文档、图片或其他类型文件的用户来说,尤为实用。 靠谱助手微信版的安装过程也非常简单。用户仅需下载一个名为...
Android使用Zxing库识别多个二维码
面试总结js 靠谱靠谱靠谱.md
"靠谱android模拟器"是专为此目的设计的一款软件,旨在提供一个方便、轻量级且无多余附加软件的环境。这款模拟器的特性包括其易用性、小巧的体积以及对实用性的注重,使得它成为开发人员和普通用户测试应用、玩游戏...
安卓模拟器社区(靠谱社区)是中国最大的安卓模拟器交流论坛,下载靠谱助手安卓模拟器可在PC电脑上极速运行安卓手游和应用。最全手机游戏电脑版攻略心得!
这是一款业内领先的电脑图片...有视频压缩需要的亲们也可以满足需求哦,那么大家想知道压缩图片用什么软件好用或者还不清楚图片无损压缩软件哪个好吗,威航软件园可以很负责任的告诉大家这绝对是一个非常靠谱的选择。
国内比较靠谱的招聘网站 在找工作的过程中,选择合适的招聘网站是非常重要的。以下是国内比较靠谱的招聘网站的概括信息: 1. 智联招聘 长处:行业规模覆盖面大,整体数据量巨大,可以寻找到多种人才。较合适北方...
文华财经指标公式源码WH6指标公式赢顺云短线指标哪个比较靠谱.doc
文华财经期货软件指标公式源码期货指标赢顺云指标短线指标哪个比较靠谱.doc
大甩卖了
靠谱助手安卓PC模拟器
读《马克思靠谱》心得.pdf
比较靠谱的方式就是命令行了 打开终端输入以下命令 adb shell logcat e --print --max-count 20 参数说名 1、e 表示 error级别的log 2、--print 打印到控制台 3、--max-count 表示最多打印log的行数,这样可以...