libminipng
通过 lodepng 解析 png 图片,使用 pngquant 算法进行压缩的 swift-framework
方法说明:
/// 通过 PNG 图片 Data 压缩
///
/// - Parameters:
/// - data: PNG 图片 Data
/// - maximum: 压缩率,0-100,100 为最好
/// - Returns: 压缩后的 PNG 图片 Data
public static func data2Data(_ data:Data,_ maximum:Int) -> Data?
/// 通过 PNG 图片路径压缩
///
/// - Parameters:
/// - path: PNG 图片路径
/// - maximum: 压缩率,0-100,100 为最好
/// - Returns: 压缩后的 PNG 图片 Data
public static func path2Data(_ path:String,_ maximum:Int) -> Data?
快速使用
1、编译生成 libminipng.framework
2、项目引入 libminipng.framework
3、编写代码:
let path:String = "http://images.chochy.cn/Cloud.png"
let data:Data = try! Data.init(contentsOf: URL.init(string: path)!)
let maximum:Int = 100 // 压缩率,0-100,100 为最好
let result:Data? = minipng.data2Data(data,maximum)
try! result?.write(to: URL.init(fileURLWithPath: "/Users/mleo/minipng.png"))
let path:String = "/Users/mleo/Cloud.png"
let maximum:Int = 100 // 压缩率,0-100,100 为最好
let result:Data? = minipng.path2Data(path, maximum)
try! result?.write(to: URL.init(fileURLWithPath: "/Users/mleo/minipng.png"))
GitHub:
https://github.com/iChochy/li…
pngquant: https://github.com/ImageOptim…
lodepng: https://github.com/lvandeve/l…