最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android Tiny集成圖片壓縮框架的使用

 更新時間:2017年09月22日 10:03:00   作者:lucktian  
本篇文章主要介紹了Android Tiny集成圖片壓縮框架的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

為了簡化對圖片壓縮的調(diào)用,提供最簡潔與合理的api壓縮邏輯,對于壓縮為Bitmap根據(jù)屏幕分辨率動態(tài)適配最佳大小,對于壓縮為File優(yōu)化底層libjpeg的壓縮,整個圖片壓縮過程全在壓縮線程池中異步壓縮,結(jié)束后分發(fā)回UI線程。

支持的壓縮類型

Tiny圖片壓縮框架支持的壓縮數(shù)據(jù)源類型:

1、Bytes
2、File
3、Bitmap
4、Stream
5、Resource
6、Uri(network、file、content)

Tiny支持單個數(shù)據(jù)源壓縮以及批量壓縮,支持的壓縮類型:

1、數(shù)據(jù)源—>壓縮為Bitmap
2、數(shù)據(jù)源—>壓縮為File
3、數(shù)據(jù)源—>壓縮為File并返回壓縮后的Bitmap
4、批量數(shù)據(jù)源—>批量壓縮為Bitmap
5、批量數(shù)據(jù)源—>批量壓縮為File
6、批量數(shù)據(jù)源—>批量壓縮為File并返回壓縮后Bitmap

壓縮參數(shù)

Tiny.BitmapCompressOptions

Bitmap壓縮參數(shù)可配置三個:

1、width
2、height
3、Bitmap.Config

如果不配置,Tiny內(nèi)部會根據(jù)屏幕動態(tài)適配以及默認(rèn)使用ARGB_8888

Tiny.FileCompressOptions

File壓縮參數(shù)可配置四個:

1、quality-壓縮質(zhì)量,默認(rèn)為76
2、isKeepSampling-是否保持原數(shù)據(jù)源圖片的寬高
3、fileSize-壓縮后文件大小
4、outfile-壓縮后文件存儲路徑

如果不配置,Tiny內(nèi)部會根據(jù)默認(rèn)壓縮質(zhì)量進(jìn)行壓縮,壓縮后文件默認(rèn)存儲在:ExternalStorage/Android/data/${packageName}/tiny/目錄下

Tiny項目地址: https://github.com/tianyingzhong/Tiny

Tiny與微信朋友圈的壓縮率比較

下面是使用Tiny圖片壓縮庫進(jìn)行壓縮的效果對比示例:

圖片信息 Tiny Wechat
6.66MB (3500x2156) 151KB (1280x788) 135KB (1280x789)
4.28MB (4160x3120) 219KB (1280x960) 195KB (1280x960)
2.60MB (4032x3024) 193KB (1280x960)) 173KB (1280x960)
372KB (500x500) 38.67KB (500x500) 34.05KB (500x500)
236KB (960x1280) 127KB (960x1280) 118KB (960x1280)

壓縮為Bitmap

Tiny.BitmapCompressOptions options = new Tiny.BitmapCompressOptions();
Tiny.getInstance().source("").asBitmap().withOptions(options).compress(new BitmapCallback() {
  @Override
  public void callback(boolean isSuccess, Bitmap bitmap) {
    //return the compressed bitmap object
  }
});

壓縮為File 

 Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").asFile().withOptions(options).compress(new FileCallback() {
  @Override
  public void callback(boolean isSuccess, String outfile) {
    //return the compressed file path
  }
});

壓縮為File并返回Bitmap

 Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").asFile().withOptions(options).compress(new FileWithBitmapCallback() {
  @Override
  public void callback(boolean isSuccess, Bitmap bitmap, String outfile) {
    //return the compressed file path and bitmap object
  }
});

批量壓縮為Bitmap

 Tiny.BitmapCompressOptions options = new Tiny.BitmapCompressOptions();
Tiny.getInstance().source("").batchAsBitmap().withOptions(options).batchCompress(new BitmapBatchCallback() {
  @Override
  public void callback(boolean isSuccess, Bitmap[] bitmaps) {
    //return the batch compressed bitmap object
  }
});

批量壓縮為File

 Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").batchAsFile().withOptions(options).batchCompress(new FileBatchCallback() {
  @Override
  public void callback(boolean isSuccess, String[] outfile) {
    //return the batch compressed file path
  }
});

批量壓縮為File并返回Bitmap

 Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").batchAsFile().withOptions(options).batchCompress(new FileWithBitmapBatchCallback() {
  @Override
  public void callback(boolean isSuccess, Bitmap[] bitmaps, String[] outfile) {
    //return the batch compressed file path and bitmap object
  }
});

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Jetpack Compose 雙指拖拽實現(xiàn)詳解

    Jetpack Compose 雙指拖拽實現(xiàn)詳解

    這篇文章主要為大家介紹了Jetpack Compose 雙指拖拽實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 掃二維碼下載apk并統(tǒng)計被掃描次數(shù)

    掃二維碼下載apk并統(tǒng)計被掃描次數(shù)

    本文主要對實現(xiàn)用戶掃描一個二維碼就能下載APP,并統(tǒng)計被掃描次數(shù)的方法進(jìn)行詳細(xì)介紹,具有一定的參考作用,下面跟著小編一起來看下吧
    2017-01-01
  • RxJava2.x實現(xiàn)定時器的實例代碼

    RxJava2.x實現(xiàn)定時器的實例代碼

    本篇文章主要介紹了RxJava2.x實現(xiàn)定時器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Android Handler多線程詳解

    Android Handler多線程詳解

    本文主要介紹Android Handler的知識,這里整理了詳細(xì)的資料及簡單示例代碼和實現(xiàn)效果圖,有興趣的小伙伴可以參考下
    2016-09-09
  • Android實現(xiàn)九宮格解鎖

    Android實現(xiàn)九宮格解鎖

    根據(jù)最近Android項目需要,實現(xiàn)九宮格解鎖效果,下面小編給大家分享了具體實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Android 中Notification彈出通知實現(xiàn)代碼

    Android 中Notification彈出通知實現(xiàn)代碼

    NotificationManager 是狀態(tài)欄通知的管理類,負(fù)責(zé)發(fā)通知、清除通知等操作。接下來通過本文給大家介紹Android 中Notification彈出通知實現(xiàn)代碼,需要的的朋友參考下吧
    2017-08-08
  • 實例講解Android中SQLiteDatabase使用方法

    實例講解Android中SQLiteDatabase使用方法

    這篇文章主要以一個簡單的實例為大家詳細(xì)講解Android中SQLiteDatabase使用方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android動畫之逐幀動畫(Frame Animation)實例詳解

    Android動畫之逐幀動畫(Frame Animation)實例詳解

    這篇文章主要介紹了Android動畫之逐幀動畫(Frame Animation),結(jié)合實例形式較為詳細(xì)的分析了逐幀動畫的原理,注意事項與相關(guān)使用技巧,需要的朋友可以參考下
    2016-01-01
  • UIImage初始化的區(qū)別兩種方法介紹(面試常見)

    UIImage初始化的區(qū)別兩種方法介紹(面試常見)

    本文通過兩種方法給大家介紹UIImage初始化的區(qū)別,在面試過程中經(jīng)常遇到,對uiimage初始化相關(guān)知識感興趣的朋友一起了解下吧
    2016-05-05
  • Android自定義View繪制居中文本

    Android自定義View繪制居中文本

    這篇文章主要為大家詳細(xì)介紹了Android自定義View繪制居中文本,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論

南宫市| 大方县| 曲周县| 讷河市| 溧阳市| 汉源县| 万载县| 奉化市| 墨玉县| 额敏县| 顺平县| 雷山县| 平阳县| 兴文县| 额尔古纳市| 蕲春县| 万荣县| 靖西县| 阿尔山市| 宁强县| 绩溪县| 凭祥市| 塔河县| 上杭县| 沂水县| 开阳县| 新兴县| 宁夏| 钟山县| 澄迈县| 兰州市| 房产| 清原| 鸡西市| 阜城县| 和田市| 兴仁县| 合肥市| 平定县| 阳新县| 晋江市|