圖片處理工具類

圖片來自網(wǎng)絡(luò)
package com.zefun.common.utils;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Base64;
import org.apache.commons.lang.StringUtils;
/**
* @Description <圖片相關(guān)工具類>
* @author liwang
* @date 2017年11月14日
* @version
*/
public class ImgUtil {
/**
* 將base64位字符串轉(zhuǎn)換成圖片
* @author liwang
* @date 2017年11月14日
* @param baseStr base64圖片字符串
* @param imgFilePath 要保存到圖片地址
* @return boolean
*/
public static boolean baseStrToImg(String baseStr, String imgFilePath) {
if (StringUtils.isBlank(baseStr)) {// 圖像數(shù)據(jù)為空
return false;
}
try {
// Base64解碼
byte[] bytes = Base64.getDecoder().decode(baseStr);
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {// 調(diào)整異常數(shù)據(jù)
bytes[i] += 256;
}
}
// 生成jpeg圖片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(bytes);
out.flush();
out.close();
return true;
}
catch (Exception e) {
return false;
}
}
/**
* 將圖片轉(zhuǎn)換成base64位字符串
* @author liwang
* @date 2017年11月14日
* @param imgFilePath 圖片路徑
* @return String
*/
public static String imgToBaseStr(String imgFilePath) {
InputStream in = null;
byte[] data = null;
// 讀取圖片字節(jié)數(shù)組
try {
in = new FileInputStream(imgFilePath);
data = new byte[in.available()];
in.read(data);
in.close();
}
catch (IOException e) {
e.printStackTrace();
}
// 對字節(jié)數(shù)組Base64編碼
return Base64.getEncoder().encodeToString(data); // 返回Base64編碼過的字節(jié)數(shù)組字符串
}
}