最近項目中需要上傳圖片,我用 7Plus 拍了些照片石窑,每一張基本都有 6-7M 左右大小牌芋,有的甚至超過了10M,這樣的圖片大小松逊,先不說寬帶躺屁,就流量就能讓用戶罵娘啊经宏!因此犀暑,我參考Android 的魯班壓縮庫思想,寫了個 iOS 版圖片壓縮庫Luban_iOS
更新
- 支持添加自定義 文字水印
- 也可以添加自定義 水印圖片
Demo 中用到的圖片大于 8Mb 烁兰,壓縮完之后不到 59Kb耐亏,添加文字水印后會有 63Kb左右
壓縮比如下表:
機型 | 照片獲取途徑 | 原圖大小.before | 壓縮后大小.after |
---|---|---|---|
6s | 拍照(豎屏) | 5.19 Mb | 86.8 Kb |
6s | 拍照(橫屏) | 5.26 Mb | 29.2 Kb |
7plus | 拍照(豎屏) | 8.05 Mb | 229.1 Kb |
7plus | 拍照(橫屏) | 6.34 Mb | 39.6 Kb |
6s | 截屏 | 1.05 Mb | 53.56 Kb |
7plus | 截屏 | 234.7 Kb | 37.5 Kb |
通過 CocoaPods 安裝
- 在
Podfile
文件里添加pod 'Luban_iOS'
然后在終端運行pod install
注意:如果使用
pod search Luban_iOS
搜不到,那么沪斟,你需要
pod setup
rm -rf ~/Library/Caches/Cocoapods
使用方法
下載 Demo 試玩一下,看一下輸出,點一下圖片看壓縮后的效果大圖
-
導入 Category 頭文件:
#import <Luban_iOS/UIImage+Luban_iOS_Extension_h.h>
-
方法調用
[UIImage lubanCompressImage:image]
or
[UIImage lubanCompressImage:image withMask:maskName]
or
[UIImage lubanCompressImage:image withCustomImage:imageName]
參數(shù)說明
/*
image: UIImage 對象
withMask: 文字水印名字 (NSString)
withCustomImage: 水印圖片名稱
*/
- 注意:
注意: 想使用自定義文字水印的請使用方法:[UIImage lubanCompressImage:image withMask:maskName]
添加水印時广辰,想使用自定義圖片水印的請使用方法:[UIImage lubanCompressImage:image withCustomImage:imageName]
后續(xù)添加的功能
- 可以自定義水印旋轉角度
- 可以根據(jù)一個本地路徑,進行壓縮并存儲