簡體   English   中英

在Android中縮小圖片文件大小(圖片類型未知)

[英]Reduce image file size in Android (image type unknown)

我想讓用戶選擇要減少圖像文件大小的大小,可以是低,中或高,然后將圖像上傳到服務器。這部分很容易。

下一部分是文件大小的實際減少。 我正在獲取圖像URI,我想減小文件圖像文件的大小,圖像類型可以是png,jpg或其他。

我知道Bitmap.compress() ,這是唯一的實現方法還是現有的開源庫?

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

與方法(與谷歌找到):

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縮放!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM