Pixaven 1.0.4

Pixaven 1.0.4

Pixaven 维护。



Pixaven 1.0.4

  • Pixaven

Pixaven

Pixaven是一个现代的、使用GPU加速的图像处理API。
我们以极快的速度对您的图像进行转换、增强、调整、裁剪、风格化、过滤和水印。


Pixaven API的官方Swift集成。


文档

查看Pixaven API文档

使用Carthage安装

Carthage是一个去中心化的依赖管理器,可以自动化将框架添加到您的Cocoa应用程序的过程。您可以使用以下命令使用Homebrew安装Carthage:

$ brew update
$ brew install carthage

要使用Carthage将Pixaven集成到Xcode项目中,在您的Cartfile中指定它。

github "pixaven/pixaven-swift"

使用CocoaPods安装

source 'https://github.com/CocoaPods/Specs.git'
pod 'Pixaven', '~> 1.0.1'

快速示例

Pixaven API允许您以两种方式提供图像进行处理:直接上传到API(图像上传),或提供公开可用的图像URL(图像提取)。

您还可以根据每个请求选择您首选的响应方法。默认情况下,Pixaven API将返回一个包含有关输入和输出图像的丰富元数据的JSON响应。或者,您可以使用二进制响应。启用后,API将以完整二进制表示形式响应生成的(输出)图像。此Swift模块公开了两个方便的方法来与二进制响应交互:.toFile().toBuffer()

图片上传

以下是一个快速示例,演示如何上传本地文件进行处理。它在最终步骤中调用.toJSON(),并指示API返回JSON响应。

// Pass your Pixaven API Key to the constructor
let client = PixavenClient(key: "YOUR-API-KEY")

// Upload an image from disk and resize it to 1024 x 768,
// using 'fit' mode and gravity set to 'bottom'
let fileUrl = Bundle.main.url(forResource: "sample", withExtension: "jpg")!
let parameters: [String : Any] = ["width": 1024, "height": "768", "mode": "fit", "gravity": "bottom"]

do {
    try client.upload(fileUrl: fileUrl).resize(parameters).toJson() { [weak self] (result) in
        switch (result) {
        case .success(let data):
            DispatchQueue.main.async {
                let response = try? JSONSerialization.jsonObject(with: data, options: .mutableContainers)
                print(response!)
            }
        case .failure(let error):
            DispatchQueue.main.async {
                print(error)
            }
        }
    }
} catch let error {
    print(error)
}

图片抓取

如果您已经将源视觉在线上公开,我们建议默认使用Image Fetch。这样,您只需发送一个包含图像URL和步骤的JSON有效载荷。此方法比上传图像的完整二进制表示要快得多。

// Pass your Pixaven API Key to the constructor
let client = PixavenClient(key: "YOUR-API-KEY")

// Provide a publicly available image URL with `.fetch()` method
// and resize it to 1024 x 768 using 'fit' mode and gravity set to 'bottom'
let imageURL = URL(string: "https://www.website.com/image.jpg")!
let parameters: [String : Any] = ["width": 1024, "height": "768", "mode": "fit", "gravity": "bottom"]

do {
    try client.fetch(url: imageURL).resize(parameters).toJson() { [weak self] (result) in
        switch (result) {
        case .success(let data):
            DispatchQueue.main.async {
                let response = try? JSONSerialization.jsonObject(with: data, options: .mutableContainers)
                print(response!)
            }
        case .failure(let error):
            DispatchQueue.main.async {
                print(error)
            }
        }
    }
} catch let error {
    print(error)
}

许可证

本软件遵照MIT许可证分发。有关更多信息,请参阅LICENSE文件。



Pixaven