我想压缩从图库上传的图像。 为此,我使用了“ id.zelory:compressor”库。
case REQUEST_GALLERY_CODE: {
if (resultCode == RESULT_OK && null != data) {
try {
InputStream inputStream = getContentResolver().openInputStream(data.getData());
String type = getFileExtension(data.getData());
UploadImage(getBytes(inputStream) , type);
和getbytes函数:
private byte[] getBytes(InputStream is) throws IOException {
ByteArrayOutputStream byteBuff = new ByteArrayOutputStream();
int buffSize = 1024;
byte[] buff = new byte[buffSize];
int len = 0;
while ((len = is.read(buff)) != -1) {
byteBuff.write(buff, 0, len);
}
return byteBuff.toByteArray();
}
我想在发送图像上载(UploadImage())之前使用此方法对其进行压缩:
compressedImageFile = new Compressor(this).compressToFile(actualImageFile);
但是输入的这段代码是实际的ImageFile! 该怎么办?
答案 0 :(得分:0)
您可以使用本地质量更改。在我的最新项目中,我使用了如下方式:
PendingIntentStore
IMAGE_QUALITY是0到100之间的数字。您可以玩一个数字,看看哪种质量可以满足您的需求