如何压缩和调整位图大小?

时间:2018-04-28 10:26:04

标签: java android bitmap

在我的应用程序中,我希望裁剪图像来自gallery,裁剪后转换为 base64 并发送到服务器。
在转换为 base64 之前,请先将图片转换为bitmap 我希望首先转换为位图压缩调整大小bitmap然后转换为 base64 并发送到服务器。
我希望 10%压缩并将尺寸1000 * 1000 设置为bitmap

对于裁剪图片,我使用此库: https://github.com/jdamcd/android-crop

我的代码:

    private void handleCrop(int resultCode, Intent result) throws IOException {
        if (resultCode == RESULT_OK) {
            if (result != null) {
                Uri imageUri = Crop.getOutput(result);
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
                //TODO : Here first compress and resize bitmap
                base64String = ImageConvertBase64.convert(bitmap);
   }
}

在此行之前我应该​​压缩并调整位图大小:

base64String = ImageConvertBase64.convert(bitmap);

我怎么样?我很业余,真的需要你的帮助,请帮帮我

1 个答案:

答案 0 :(得分:0)

使用以下代码进行压缩和调整大小(根据您的要求设置大小和压缩比例):

Bitmap resized = Bitmap.createScaledBitmap(yourBitmap,(int)(yourBitmap.getWidth()*0.8), (int)(yourBitmap.getHeight()*0.8), true);

resized.compress(Bitmap.CompressFormat.JPEG,90,outStream);