android如何处理大图片大小,android-如何将图像大小减小到1MB

这篇博客探讨了如何在应用程序中允许用户上传任意大小的图像,并在上传时自动调整图片大小以不超过1MB。作者分享了一段代码,该代码使用Bitmap和Matrix来缩放图像,然后通过压缩确保文件大小符合要求。虽然遇到了问题,但作者正在寻找完善此功能的方法。
摘要由CSDN通过智能技术生成

我希望我的应用程序上传没有大小限制的图像,但是在代码中,如果图像大小超出限制,我想将图像大小调整为1MB.我已经尝试了许多方法,但是找不到上面提到的要求的任何代码.

我已经尝试过一次:

public void scaleDown() {

int width = stdImageBmp.getWidth();

int height = stdImageBmp.getHeight();

Matrix matrix = new Matrix();

float scaleWidth = ((float) MAX_WIDTH) / width;

float scaleHeight = ((float) MAX_HEIGHT) / height;

matrix.postScale(scaleWidth, scaleHeight);

stdImageBmp = Bitmap.createBitmap(stdImageBmp, 0, 0, width, height, matrix, true);

File Image = new File("path");

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

//compress bmp

stdImageBmp.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);

byte[] byteArray = byteArrayOutputStream.toByteArray();

imgViewStd.setImageBitmap(stdImageBmp);

Log.d("resizedBitmap", stdImageBmp.toString());

width = stdImageBmp.getWidth();

height = stdImageBmp.getHeight();

System.out.println("imgWidth" + width);

System.out.println("imgHeight" + height);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值