调整大小并压缩从图库上传时的图像

时间:2018-11-16 16:10:04

标签: android

我想压缩从图库上传的图像。 为此,我使用了“ 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! 该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用本地质量更改。在我的最新项目中,我使用了如下方式:

PendingIntentStore

IMAGE_QUALITY是0到100之间的数字。您可以玩一个数字,看看哪种质量可以满足您的需求