1.bitmap文件转换为File:
@Throws(IOException::class)
fun saveFile(bm: Bitmap, fileName: String): File { //将Bitmap类型的图片转化成file类型,便于上传到服务器
val path = Environment.getExternalStorageDirectory().toString() + "/Ask"
val dirFile = File(path)
if (!dirFile.exists()) {
dirFile.mkdir()
}
val myCaptureFile = File(path + fileName)
val bos = BufferedOutputStream(FileOutputStream(myCaptureFile))
bm.compress(CompressFormat.JPEG, 80, bos)
bos.flush()
bos.close()
return myCaptureFile
}
调用
saveFile("文件", "名称")
2.bitmap文件转换成String(Base64):
public static String bitmaptoString(Bitmap bitmap) {
//将Bitmap转换成字符串
String string = null;
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bStream);
byte[] bytes = bStream.toByteArray();
string = Base64.encodeToString(bytes, Base64.DEFAULT);
return string;
}
调用:
val file:String = Base64ToImageUtil.bitmaptoString(图片)
3.将文件存到系统根目录下:
BitmapUtil.saveBitmap(eachFrame,"cpc_photo.jpg",Environment.getExternalStorageDirectory().getPath());
第一个参数bitmap文件,第二个参数文件名,第三个参数根路径
4.字符串转换Bitmap类型:
public Bitmap stringtoBitmap(String string) {
//将字符串转换成Bitmap类型
Bitmap bitmap = null;
try {
byte[] bitmapArray;
bitmapArray = Base64.decode(string, Base64.DEFAULT);
bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
5.将Bitmap转换成字符串:
public static String bitmaptoString(Bitmap bitmap) {
String string = null;
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bStream);
byte[] bytes = bStream.toByteArray();
string = Base64.encodeToString(bytes, Base64.DEFAULT);
return string;
}