我有一个高分辨率图像
Uri
,我想降低图像质量和大小,因为我将其上传到服务器,然后将其加载为原始图像的较小版本。
我尝试过这个:
Picasso.with(context).load(image).resize(100,100).get();
但它不起作用,因为您需要从单独的线程
执行此操作,并且我没有找到一个监听器来告诉您调整大小何时结束。
有没有人有一个解决方案可以降低图像质量以获得较小的文件大小?
最佳答案
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 50;
Bitmap bmpSample = BitmapFactory.decodeFile(fileUri.getPath(), options);
ByteArrayOutputStream out = new ByteArrayOutputStream();
bmpSample.compress(Bitmap.CompressFormat.JPEG, 1, out);
byte[] byteArray = out.toByteArray();
return convertToUri(byteArray);
关于java - 降低 uri 图像质量以减小文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41316094/