當前位置:首頁 » 安卓系統 » android文件圖片壓縮

android文件圖片壓縮

發布時間: 2023-01-19 00:02:01

『壹』 Android黑科技,圖片終極壓縮

一、支持自定義配置、不失真和批量處理

二、圖片上傳為什麼要壓縮
1、圖片伺服器空間限制,磁碟昂貴
2、網路不穩定,大文件需要斷點續傳
3、盡可能避免安卓OOM異常
4、後台約定的規則<200KB
5、需要上傳原圖的應用有醫院臨床項目、金融銀行

三、圖片壓縮流程
1、遞歸每張圖片
2、設置圖片格式 Bitmap.CompressFormat.JPG
png, jpg,webp
3、質量壓縮bitmap.compress(format,quality,baos)
由於png是無損壓縮,所以設置quality無效(不適合作為縮略圖)
采樣率壓縮BitmapFactory.Options.inSampleSize
縮小圖片解析度,減少所佔用磁碟空間和內存大小
縮放壓縮canvas.drawBitmap(bitmap, null,rectF,null)
減少圖片的像素,降低所佔用磁碟空間大小和內存大小,可用於緩存縮略圖
JNI調用JPEG庫
Android的圖片引擎使用的是閹割版的skia引擎,去掉了圖片壓縮中的哈夫曼演算法
4、像素修復
5、返回壓縮
6、完成壓縮

demo: https://github.com/ApeCold/Learn_Compress_Sample

參考:
Luban框架 https://github.com/Curzibn/Luban
缺點
1、當沒有設定壓縮路徑時,拋異常無閃退
2、源碼中,壓縮比率固定值60,無法修改
3、壓縮配置,參數不太適應真實項目需求
4、不能指定壓縮大小,比如100KB以內
https://github.com/zettsu/Compressor

『貳』 說說在 Android 中如何壓縮圖片

1:ByteArrayOutputStream 壓縮圖片質量,不會改變圖片大小

java">privateBitmapcompressImage(Bitmapimage){

ByteArrayOutputStreambaos=newByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG,100,baos);//質量壓縮方法,這里100表示不壓縮,把壓縮後的數據存放到baos中
intoptions=100;while(baos.toByteArray().length/1024>100){//循環判斷如果壓縮後圖片是否大於100kb,大於繼續壓縮
baos.reset();//重置baos即清空baos
image.compress(Bitmap.CompressFormat.JPEG,options,baos);//這里壓縮options%,把壓縮後的數據存放到baos中
options-=10;//每次都減少10}
ByteArrayInputStreamisBm=newByteArrayInputStream(baos.toByteArray());//把壓縮後的數據baos存放到ByteArrayInputStream中
Bitmapbitmap=BitmapFactory.decodeStream(isBm,null,null);//把ByteArrayInputStream數據生成圖片
returnbitmap;
}

2:就是改變圖片大小

privateBitmapgetimage(StringsrcPath){
BitmapFactory.OptionsnewOpts=newBitmapFactory.Options();//開始讀入圖片,此時把options.inJustDecodeBounds設回true了
newOpts.inJustDecodeBounds=true;
Bitmapbitmap=BitmapFactory.decodeFile(srcPath,newOpts);//此時返回bm為空
newOpts.inJustDecodeBounds=false;intw=newOpts.outWidth;inth=newOpts.outHeight;//現在主流手機比較多是800*480解析度,所以高和寬我們設置為
floathh=800f;//這里設置高度為800f
floatww=480f;//這里設置寬度為480f//縮放比。由於是固定比例縮放,只用高或者寬其中一個數據進行計算即可
intbe=1;//be=1表示不縮放
if(w>h&&w>ww){//如果寬度大的話根據寬度固定大小縮放
be=(int)(newOpts.outWidth/ww);
}elseif(w<h&&h>hh){//如果高度高的話根據寬度固定大小縮放
be=(int)(newOpts.outHeight/hh);
}if(be<=0)
be=1;
newOpts.inSampleSize=be;//設置縮放比例//重新讀入圖片,注意此時已經把options.inJustDecodeBounds設回false了
bitmap=BitmapFactory.decodeFile(srcPath,newOpts);returncompressImage(bitmap);//壓縮好比例大小後再進行質量壓縮}

『叄』 說說在 Android 中如何壓縮圖片

目前存在兩種壓縮圖片方式:

而圖片有三種存在形式:

bigmap 在內存中的大小是按像素計算的,也就是width * height,所以如果需要在 Android 中顯示照片,那麼就必須進行按比例壓縮,避免因為內存消耗過大,導致 APP 退出。

是不是很簡單呀 O(∩_∩)O哈哈~

『肆』 怎麼把手機照片壓縮成文件

一、安卓手機步驟如下:
1、進入文件管理模式:選擇手機文件管理圖標進入文件管理模式。
2、選擇圖片:在文件管理中選擇自己想要發送或壓縮的圖片,點擊復制。
3、建立文件夾:點擊你需要儲存圖片的位置新建文件夾,輸入文件夾的名稱完成後保存。
4、移動或拷貝照片到文件夾:找到並點擊打開新建的文件夾,把照片粘貼進該文件夾。
5、製作壓縮包:選擇帶有照片的文件夾,選取壓縮功能把文件夾做成壓縮文件,輸入文件名完成文件壓縮。
6、照片發送:選擇做好的壓縮文件包,在彈出的對話框里找到分享圖標,選擇分享。選取自己喜歡的方式,比如微信、QQ、郵件等等,按各自的方式分享即可。
二、蘋果手機步驟如下:
1、下載並安裝具有壓縮功能的APP,比如「壓縮專家」。
2、打開安裝的APP,選擇導入相片選項進入手機相冊。
3、選擇需要發送的照片或視頻後點壓縮並輸入壓縮文件名。
4、壓縮完成後點擊壓縮包後選擇分享即可。
5、選擇分享方式,選取自己喜歡的方式,比如微信、QQ、郵箱等等。
6、按選取的方式發送。
三、把手機里的照片傳到電腦就更方便了,步驟如下:
1、建立新文件夾把手機照片拷貝到該文件夾。
2、滑鼠右鍵選中新文件夾,選擇添加到壓縮文件(A),確定後輸入文件名製作壓縮文件包。
3、打開郵件或微信、QQ,按不同的方式發送,郵件一般以附件的形式發送,微信和QQ可以直接作為文件發送。

『伍』 可以自定義大小和像素來進行圖片壓縮的Android壓縮庫

老規矩 先上依賴

Add it in your root build.gradle at the end of repositories:

allprojects {

        repositories {

                ...   

                maven { url 'https://jitpack.io' }

        }

}

dependencies {

            implementation 'com.github.asnhkl1:X-CompressImage:1.0.1'

    }

背景:

對於一些需要對圖片進行定製化壓縮的場景,如必須圖片必須多少多少K以下,或者解析度有要求的場景。開發此庫。

你可以這樣用:

CompressConfig  為建造模式去設置參數

CompressConfig compressConfig = CompressConfig.builder()

                .setUnCompressMinPixel(1000) // 最小像素不壓縮,默認值:1000

                .setUnCompressNormalPixel(2000) // 標准像素不壓縮,默認值:2000

                .setMaxPixel(1200) // 長或寬不超過的最大像素 (單位px),默認值:1200

                .setMaxSize(200 * 1024) // 壓縮到的最大大小 (單位B),默認值:200 * 1024 = 200KB

                .enablePixelCompress(true) // 是否啟用像素壓縮,默認值:true

                .enableQualityCompress(true) // 是否啟用質量壓縮,默認值:true

                .enableReserveRaw(false) // 是否保留源文件,默認值:true

                .setCacheDir(path) // 壓縮後緩存圖片路徑,默認值:Constants.COMPRESS_CACHE

                .setShowCompressDialog(true) // 是否顯示壓縮進度條,默認值:false

                .create();

如果你僅僅只是壓縮圖片  我們給有默認的參數使用getDefaultConfig()

        this.unCompressMinPixel =1000;

        this.unCompressNormalPixel =2000;

        this.maxPixel =1200;

        this.maxSize =204800;

        this.enablePixelCompress =true;

        this.enableQualityCompress =true;

        this.enableReserveRaw =true;

下邊就是使用了 。很簡單 ,傳參加回調

     CompressImageManager.build(this,compressConfig, photos, new CompressImage.CompressListener() {

            @Override

            public void onCompressSuccess(ArrayList<Photo> var1) {

                Log.i("imageCompress","success");

              //do what you want to do

            }

            @Override

            public void onCompressFailed(ArrayList<Photo> var1, String var2) {

                Log.e("imageCompress","false",null);

            }

        }).compress();

git 地址:https://github.com/asnhkl1/X-CompressImage

歡迎指教,互相學習

『陸』 android 圖片壓縮

在文件管理裡面長按圖片會出現設置面板,選中壓縮圖片即可以。

『柒』 android中壓縮圖片的幾種方法比較

圖片有三種存在形式:硬碟上時是file,網路傳輸時是stream,內存中是stream或bitmap,所謂的質量壓縮,它其實只能實現對 file的影響,你可以把一個file轉成bitmap再轉成file,或者直接將一個bitmap轉成file時,這個最終的file是被壓縮過的,但 是中間的bitmap並沒有被壓縮(或者說幾乎沒有被壓縮,我不確定),因為bigmap在內存中的大小是按像素計算的,也就是width * height,對於質量壓縮,並不會改變圖片的像素,所以就算質量被壓縮了,但是bitmap在內存的佔有率還是沒變小,但你做成file時,它確實變小 了;
而尺寸壓縮由於是減小了圖片的像素,所以它直接對bitmap產生了影響,當然最終的file也是相對的變小了;

『捌』 手機怎麼壓縮圖片

軟體版本: 文件管理

手機: 華為P30

系統:安卓9.1

1、在手機桌面上找到,並點擊進入「文件管理」。


『玖』 Android 圖片選擇(ImageSelector) (拍照,裁剪,壓縮,查看)

1.遍歷sdcard文件夾(指定層次深度 searchDeep ),如果文件夾發現圖片 , 添加到已搜索到圖片的文件列表中,並跳入下一個文件夾搜索

2.使用 ContentResolver 搜索 添加搜索標簽(png,jpg,jpeg,gif 等) 優點:更快速

壓縮調用

第一步-->

采樣率壓縮:設置 BitmapFactory.Options.inSampleSize 大小

第二步-->

PNG:尺寸壓縮( Config:ARGB_4444 ,工具: Canvas );

JPG:尺寸壓縮( Config:ARGB_565 ,工具: Canvas )+壓縮質量( bitmap.compress() )

注 :

1.GIF不做壓縮處理

2.尺寸壓縮:改變寬高(png,jpg)

3.壓縮質量:改變文件大小(適用jpg,png無效)

『拾』 怎樣在安卓系統上壓縮圖片大小

安卓系統是手機系統,我們很少在手機上進行壓縮,有的手機是有壓縮功能的,想小米,oppo類的手機上有這種功能,壓縮效果並不樂觀,電腦上執行壓縮小編例舉了一下步驟:

a、打開任意瀏覽器,點擊瀏覽器的搜索框,在這里搜索圖片壓縮,選擇網頁搜索,我們要找到下載工具的網頁,將工具下載安裝到我們的電腦。

其實圖片文件壓縮是一個簡單的過程,但是我們要找對圖片文件壓縮的軟體,進行圖片壓縮就是一件簡單的事情

熱點內容
共享文件夾沒有啟動伺服器服務 發布:2025-05-20 13:43:38 瀏覽:802
天龍八部游戲怎麼切換伺服器 發布:2025-05-20 13:42:36 瀏覽:629
亞馬遜免費主機是什麼配置 發布:2025-05-20 13:40:10 瀏覽:694
存儲類型默認分配 發布:2025-05-20 13:32:26 瀏覽:662
qq信息加密 發布:2025-05-20 13:31:32 瀏覽:341
文件夾嗅探器foldersniffer 發布:2025-05-20 12:33:36 瀏覽:912
編譯裝入 發布:2025-05-20 12:32:48 瀏覽:562
萬勝壓縮機價格 發布:2025-05-20 12:20:00 瀏覽:987
判斷雲伺服器是否誠實的存放數據 發布:2025-05-20 12:11:07 瀏覽:377
c語言基礎書 發布:2025-05-20 12:11:00 瀏覽:780