gpt4 book ai didi

android - 减小 Android 中的图像文件大小(图像类型未知)

转载 作者:行者123 更新时间:2023-11-29 01:51:05 25 4
gpt4 key购买 nike

我想让用户选择他们想要将图像文件大小减小多少,可以是低、中或高,然后将图像上传到服务器这部分很容易。

下一部分是文件大小的实际减少。我正在获取图像 URI,我想减小文件图像文件大小,图像类型可以是 png、jpg 或其他类型。

我知道 Bitmap.compress(),这是实现的唯一方法还是有现有的开源库?

最佳答案

Bitmap bitmap;
bitmap = MyBitmapFactory.decodeFile(PATHTOPICT, UPLOAD_REQUIRED_SIZE);
if (bitmap != null) {
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);

使用方法(用google找到):

public static Bitmap decodeFile(String filePath, final int REQUIRED_SIZE) {
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filePath, o);
int width_tmp = o.outWidth, height_tmp = o.outHeight;
int scale = 1;
while (true) {
if (width_tmp <= REQUIRED_SIZE && height_tmp <= REQUIRED_SIZE)
break;
width_tmp /= 2;
height_tmp /= 2;
scale *= 2;
}
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
Bitmap bitmap = BitmapFactory.decodeFile(filePath, o2);
return bitmap;
}

如果某些东西为 NULL,则它没有图像/建议按 2 的幂缩放!!!

关于android - 减小 Android 中的图像文件大小(图像类型未知),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com