java - 如何压缩图像
问题描述
所以我有一张图片保存在本地存储中。此图像是使用应用程序本身的相机拍摄的。但问题是图像的大小约为 3-4 MB。在将其保存到我的本地存储之前,是否有压缩此图像的方法?目前我正在使用 CameraX 来捕捉图片。谢谢!
解决方案
我一直在使用Tiny库,它工作正常。它易于使用,您可以添加压缩图像的配置。
1.- 添加依赖
implementation 'com.zxy.android:tiny:1.1.0'
2.- 初始化
Tiny.getInstance().init(this);
3.- 压缩
如果要添加一些配置,请创建选项
Tiny.BitmapCompressOptions options = new Tiny.BitmapCompressOptions();
异步
Tiny.getInstance().source("").asBitmap().withOptions(options).compress(new BitmapCallback() { @Override public void callback(boolean isSuccess, Bitmap bitmap, Throwable t) { //return the compressed bitmap object } });
同步
BitmapResult result = Tiny.getInstance().source("").asBitmap().withOptions(options).compressSync();
推荐阅读
- firebase - 自定义无效的动态链接页面
- javascript - 更新 JSON 以使用 react-jsonschema-form 格式
- elasticsearch - 在两个系统中更新记录的系统设计:并行与串行?
- javascript - 在 javascript 中捕获多种类型的错误
- python - Python - 基于 2 个值合并字典列表
- sql - SQL 查找具有下一个最佳时间戳匹配的行对
- javascript - 我有 ?(问号)关于由 sequelize 生成的更新语句
- python - python manage.py collectstatic
- java - 禁用选定端口的 Spring Security [使用 WebFlux Security]
- java - syso 插入快捷方式在 Eclipse 中不起作用