java - 降低 uri 图像质量以减小文件大小

标签 java android uri

我有一个高分辨率图像 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);

谢谢Android: Compress Bitmap from Uri

关于java - 降低 uri 图像质量以减小文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41316094/

相关文章:

java - 在 Android/Java 上安全使用 glMapBufferRange()

java - 我可以使用 GSON 反序列化包含 Java 连字符的变量名吗?

android - 使用 DialogInterface 的 onClick() 方法

android - PhoneGap Android + jQuery 移动应用程序不会向下滚动

带有德语特殊字符的 URI 在 Zend Framework 2 中不起作用(错误 404)

java.lang.NullPointerException : uriString

android - 选择打开文件的正确方法

JAVA:为什么带负号的字节的二进制文字被认为是整数类型?

Java 3D 内存泄漏

java - 如何更改 jar 文件的编码以管理 "█▓▒ CRIT! ░░╚╡▌▌╞╗░░"等字符?