微信朋友圈圖片壓縮算法

原文鏈接:https://blog.csdn.net/u014220518/article/details/58136932

轉自:

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/u014220518/article/details/58136932


描述
圖片作爲App中重要的一個元素,非常具有表現力,圖片既要讓用戶能看清楚,又能讓發佈圖片的用戶能快速的上傳。所以開發者要對圖片進行裁切和質量壓縮。但是裁切尺寸質量壓縮比設置成多少卻很難控制好,如果設置不當會導致圖片顯示效果很差。

微信是一個很好的參照物,被大家廣爲使用並接受。這個擴展就是通過發送微信朋友圈和聊天會話發送了大量圖片,對比原圖與微信壓縮後的圖片逆向推算出來的壓縮算法。

算法
圖片尺寸
寬高均 <= 1280,圖片尺寸大小保持不變
寬或高 > 1280 && 寬高比 <= 2,取較大值等於1280,較小值等比例壓縮
寬或高 > 1280 && 寬高比 > 2 && 寬或高 < 1280,圖片尺寸大小保持不變
寬高均 > 1280 && 寬高比 > 2,取較小值等於1280,較大值等比例壓縮
注:當寬和高均小於1280,並且寬高比大於2時,微信聊天會話和微信朋友圈的處理不一樣。
朋友圈:取較小值等於1280,較大值等比例壓縮
聊天會話:取較小值等於800,較大值等比例壓縮

圖片質量
經過大量的測試,微信的圖片壓縮質量值 ≈ 0.5

UIImageJPEGRepresentation(resizeImage, 0.5)

效果對比
original    wechat    this
1500 * 4000, 2.5MB    800 * 2134, 325KB    800 * 2134, 306KB
960 * 600, 210KB    960 * 600, 147KB    960 * 600, 147KB
800 * 1280, 595KB    800 * 1280, 140KB    800 * 1280, 142KB
1080 * 1920, 1.8MB    720 * 1280, 139KB    720 * 1280, 140KB
640 * 1136, 505KB    640 * 1136, 68KB    640 * 1136 69KB
4000 * 3000, 497KB    1280 * 960, 140KB    1280 * 960, 139KB
2560 * 1600, 232KB    1280 * 800 112KB    1280 * 800, 112KB
800 * 2138, 307KB    800 * 2134, 649KB    800 * 2138, 599KB
3351 * 1430, 386KB    1874 * 800, 296KB    1875 * 800, 286KB
3000 *1300, 458KB    1846 * 800 322KB    1847 * 800, 307KB
8323 * 5793, 19.67MB    1280 * 890, 428KB    1280 * 891, 465KB


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章