android图片压缩
来源:互联网 发布:陕西广电网络集团 编辑:程序博客网 时间:2024/05/03 06:24
andriod提供了一些方法如下:
压缩图片质量:
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, fos);
其中的quality为0~100, 可以压缩图片质量, 不过对于大图必须对图片resize
这个是等比例缩放:
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);
这个是截取图片某部分:
压缩图片质量:
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, fos);
其中的quality为0~100, 可以压缩图片质量, 不过对于大图必须对图片resize
这个是等比例缩放:
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);
这个是截取图片某部分:
bitmap = Bitmap.createBitmap(bitmap, x, y, width, height);
这段代码很多网站都有转载,在这里是为了注释:较大的图片文件上传到服务器一般都需要压缩调整,保证数据通信的效率是最主要的。
//对图片进行压缩 BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; //获取这个图片的宽和高 Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/dcim/Camera/hello.jpg",options);//此时返回bm为空 options.inJustDecodeBounds =false; //计算缩放比 int be = (int)(options.outHeight / (float)200); if(be <= 0) be =1; options.inSampleSize =be; //重新读入图片,注意这次要把options.inJustDecodeBounds设为false哦 bitmap = BitmapFactory.decodeFile("/sdcard/dcim/Camera/hello.jpg",options); int w = bitmap.getWidth(); int h=bitmap.getHeight(); System.out.println(w+" "+h); myImageView.setImageBitmap(bitmap); //保存入sdCard File file2= new File("/sdcard/dcim/Camera/test.jpg"); try { FileOutputStream out = new FileOutputStream(file2); if(bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out)){ out.flush(); out.close(); } } catch (Exception e) { // TODO: handle exception } //读取sd卡 File file =new File("/sdcard/dcim/Camera/test.jpg"); int maxBufferSize = 16 * 1024; int len = 0; ByteArrayOutputStream outStream = new ByteArrayOutputStream(); BufferedInputStream bufferedInputStream; try { bufferedInputStream = new BufferedInputStream(new FileInputStream(file)); int bytesAvailable = bufferedInputStream.available(); int bufferSize = Math.min(bytesAvailable, maxBufferSize); byte[] buffer = new byte[bufferSize]; while ((len = bufferedInputStream.read(buffer)) != -1) { outStream.write(buffer, 0, bufferSize); } data = outStream.toByteArray(); outStream.close(); bufferedInputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
- android图片压缩方法
- android图片压缩方法
- android图片压缩
- android图片压缩
- Android图片压缩
- android图片压缩
- Android BitmapFactory 图片压缩
- android图片压缩
- android图片压缩总结
- android图片压缩一:
- Android 图片压缩二:
- Android图片压缩总结
- Android开发压缩图片
- Android图片压缩
- android 的图片压缩
- Android关于图片压缩
- android 图片压缩
- android图片压缩上传
- C语言/C++中怎样产生随机数
- apt-get apt-cache
- SQL 的小总结 嘻嘻
- struts2 (2.3.4) 配置
- 为什么内联函数,构造函数,静态成员函数不能为virtual函数
- android图片压缩
- YUI3学习(二)--YUI Global Object
- ORA-01779: 无法修改与非键值保存表对应的列
- Android 中颜色对应的值
- 利用区域标记实现图像分离
- 【*】POJ-3580(伸展树-slpay tree)
- Devexpress ASPxGridView GetSelectedFieldValues 脚本选择多列
- Kettle最佳实践
- hdu 1864最大报销额 01背包