您的位置:首页 > 其它

图片工具类

2016-12-23 14:59 441 查看
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class ImageUtils {
public static final String CACHEDIR = Environment.getExternalStorageDirectory() + "/ll";

public static boolean isMounted() {
return Environment.MEDIA_MOUNTED.equals(
Environment.getExternalStorageState());
}

public static void saveImg(String url, byte[] bytes) throws IOException {
if (!isMounted()) return;

File dir = new File(CACHEDIR);
if (!dir.exists()) dir.mkdirs();

FileOutputStream fos = new FileOutputStream(new File(dir, getName(url)));
fos.write(bytes);
fos.close();

}

public static void saveImg(String url, Bitmap bitmap) throws IOException {
if (!isMounted()) return;

File dir = new File(CACHEDIR);
if (!dir.exists()) dir.mkdirs();

//将图片对象写入到指定输出流中
bitmap.compress(getFormat(url), 100,
new FileOutputStream(new File(dir, getName(url))));

}

private static Bitmap.CompressFormat getFormat(String url) {
// TODO 获取图片的格式
String fileName = getName(url,0);
if (fileName.endsWith("png")) {
return Bitmap.CompressFormat.PNG;
}

return Bitmap.CompressFormat.JPEG;
}

public static Bitmap getImg(String url) {
if (!isMounted()) return null;

File imgFile = new File(CACHEDIR, getName(url));
if (imgFile.exists()) {
//return BitmapFactory.decodeFile(imgFile.getAbsolutePath());

FileInputStream fin = null;
try {
fin = new FileInputStream(imgFile);
byte[] bytes = StreamUtil.readStream(fin);
return  BitmapFactory.decodeByteArray(bytes,0,bytes.length);
} catch (Exception e) {
e.printStackTrace();
} finally {
StreamUtil.close(fin);

}

}

return null;
}

public static String getName(String url) {

//return url.substring(url.lastIndexOf("/")+1);
return md5(url);

}

public static String getName(String url, int end) {
// return url.substring(url.lastIndexOf("/")+1,end);
return url.substring(url.lastIndexOf("/")+1);
}
public static String md5(String stringContent) {
String ret = null;
if (stringContent != null) {
try {
MessageDigest digest = MessageDigest.getInstance("MD5");

byte[] data = digest.digest(stringContent.getBytes());
BigInteger bigInteger = new BigInteger(1, data);
ret = bigInteger.toString(16);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

}

return ret;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: