libminipng压缩png的swiftframework

30次阅读

共计 1030 个字符,预计需要花费 3 分钟才能阅读完成。

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…

正文完
 0