Optidash 1.0.0

Optidash 1.0.0

Optidash UG 维护。



Optidash 1.0.0

  • Optidash

Optidash

Optidash 是一个现代化的、AI 驱动的图像优化和处理的 API。
我们将大大加快您的网站速度,并节省带宽和存储费用。


Optidash API 的官方 Swift 集成。


文档

查看 Optidash API 文档

使用 Carthage 安装

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

$ brew update
$ brew install carthage

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

github "optidash-ai/optidash-swift"

使用 CocoaPods 安装

source 'https://github.com/CocoaPods/Specs.git'
pod 'Optidash', '~> 1.0.0'

快速示例

Optidash API 允许您以两种方式提供您的图像以进行处理 - 直接通过 API 上传它们 (图像上传) 或通过提供公开可用的图像 URL (图像抓取)。

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

图片上传

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

// Pass your Optidash API Key to the constructor
let opti = OptidashClient(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 opti.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 Optidash API Key to the constructor
let opti = OptidashClient(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 opti.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文件。