package net.kornan.framework.utils; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapFactory.Options; import android.media.ThumbnailUtils; import android.util.Base64; public class ImageUtils { // 压缩图片 public static File[] compressImage(String path, File... files) { Bitmap bitmap = null; if (path == null) return files; File f = new File(path); if (!f.exists()) { f.mkdirs(); } for (int i = 0; i < files.length; i++) { try { bitmap = BitmapFactory.decodeFile(files[i].getAbsolutePath()); String file_name = files[i].getName(); String sDStateString = android.os.Environment .getExternalStorageState(); if (sDStateString.equals(android.os.Environment.MEDIA_MOUNTED)) { File SDFile = android.os.Environment .getExternalStorageDirectory(); File myFile = new File(SDFile.getAbsolutePath() + File.separator + file_name); if (!myFile.exists()) { myFile.createNewFile(); } writePath( bitmap = ThumbnailUtils.extractThumbnail(bitmap, 480, 800), myFile.getAbsolutePath()); files[i] = myFile; } // writePath(ThumbnailUtils.extractThumbnail(bitmap, 480, // 800),); } catch (Exception e) { e.printStackTrace(); } catch (Error err) { err.printStackTrace(); } } return files; } // 保存图片 public static void writePath(Bitmap bitmap, String path) { try { BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(path)); bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos); bos.flush(); bos.close(); } catch (IOException e) { e.printStackTrace(); } } }