最近工作用到了Bitmap这个类,碰到不少困难,于是写下来 分享给遇到相同困难的朋友。
1. 想上传一张图片到服务器,调用新浪的接口 和 新浪自己上传的速度就是不同,找了一天原因 最后发现原来是新浪把图片进行了压缩:
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
第一个参数为压缩图片的格式,有个特别的地方 当压缩图片质量相同的时候jpeg格式压缩出来的图片会比png的小很多 所以压缩时候推荐用jpeg的
第二个参数为压缩后的图片质量 为0-100 0为图片质量很差 压缩出来的图片最小,100为质量最后 压缩后的图片最大
第三个参数为我们定义的 将图片压缩到什么位置的输出流 就不多说了
2.Bitmap的二个常用方法
等比例缩放:
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);
截取图片某部分:
bitmap = Bitmap.createBitmap(bitmap, x, y, width, height);
3.也是一个致命的问题 就是内存溢出 当不用bitmap 的时候一定要记得回收
if(bitmap != null && !bitmap.isRecycled()) ){
bitmap.recycle();
bitmap = null ;
}