android 图片转Base64压缩上传
来源:互联网 发布:网络僵尸病毒 编辑:程序博客网 时间:2024/05/18 03:51
首先得到图片路径 photoPath,
String base64Str = Bitmap2StrByBase64(compressImageFromFile(photoPath));
private Bitmap compressImageFromFile(String srcPath) {
BitmapFactory.Options newOpts = new BitmapFactory.Options();
newOpts.inJustDecodeBounds = true;//只读边,不读内容
Bitmap bitmap = BitmapFactory.decodeFile(srcPath, newOpts);
newOpts.inJustDecodeBounds = false;
int w = newOpts.outWidth;
int h = newOpts.outHeight;
float hh = 800f;//
float ww = 480f;//
int be = 1;
if (w > h && w > ww) {
be = (int) (newOpts.outWidth / ww);
} else if (w < h && h > hh) {
be = (int) (newOpts.outHeight / hh);
}
if (be <= 0)
be = 1;
newOpts.inSampleSize = be;//设置采样率
newOpts.inPreferredConfig = Bitmap.Config.ARGB_8888;//该模式是默认的,可不设
newOpts.inPurgeable = true;// 同时设置才会有效
newOpts.inInputShareable = true;//。当系统内存不够时候图片自动被回收
bitmap = BitmapFactory.decodeFile(srcPath, newOpts);
// return compressBmpFromBmp(bitmap);//原来的方法调用了这个方法企图进行二次压缩
//其实是无效的,大家尽管尝试
return bitmap;
}
public String Bitmap2StrByBase64(Bitmap bit){
ByteArrayOutputStream bos=new ByteArrayOutputStream();
bit.compress(Bitmap.CompressFormat.JPEG, 40, bos);//参数100表示不压缩
byte[] bytes=bos.toByteArray();
bos.reset(); // TODO 有的图片本身不大压缩后反而变大, 暂未解决, 貌似没个卵用
return Base64.encodeToString(bytes, Base64.DEFAULT);
}
- android 图片转Base64压缩上传
- js图片转base64编码压缩上传
- Android Base64上传图片
- 微信端图片压缩转base64,然后转file形式上传
- 图片压缩,Base64编码后上传服务器
- Android 图片压缩图片转Base64工具类
- react-native-image-picker在Android上闪退的解决办法(上传头像base64,压缩上传图片)
- android图片压缩上传
- Android 图片压缩上传
- android 图片压缩上传
- Android 图片压缩上传
- Android 压缩图片并转Base64方法之一
- 图片上传-form表单还是base64-前端图片压缩
- android 上传图片(压缩) Bitmap 转File
- android 上传图片(压缩) Bitmap 转File
- Android端将图片压缩为Base64
- 微信手机网页上传图片高效率压缩(Canvas+Base64)
- ci框架经canvas压缩图片后经base64上传
- js的window.onload和jquery document.ready()的区别
- 崩溃日志
- swift循环 for in 语句
- Volley实现登陆功能
- 字节流与字符流详细比较
- android 图片转Base64压缩上传
- Hive(一):架构及知识体系
- SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
- abap --- memory id
- js改变table中td的值
- 解决html5<canvas>标签像素变大,图片变模糊的情况
- PAT 1002
- Logical Databases Logical data
- MScomm控件串口被占用的异常处理