我正在构建一个 Kitura Web 应用程序,我需要能够处理用户上传的图像。
我有一个 Foundation 的实例Data
,我想在不使用任何 Cocoa 库/框架(Foundation 除外)的情况下执行以下操作:
- 验证是否
Data
是有效的图像文件 - 将图像转换为
.png
- 检查图像的分辨率
- 将图像文件调整为特定宽度,高度跟随比例
- 保存到本地文件系统
我该怎么做?只要它们在 Linux 上工作,我就可以使用第三方库/框架。
我正在构建一个 Kitura Web 应用程序,我需要能够处理用户上传的图像。
我有一个 Foundation 的实例Data
,我想在不使用任何 Cocoa 库/框架(Foundation 除外)的情况下执行以下操作:
Data
是有效的图像文件.png
我该怎么做?只要它们在 Linux 上工作,我就可以使用第三方库/框架。
您应该使用 SwiftGD - libgd 的包装器。它支持您需要的所有操作: https ://github.com/twostraws/SwiftGD
它唯一不直接支持的是从内存中的 Data 实例中读取图像。您需要将其写入临时文件并从那里实例化。
我不能保证 Swift 包装器本身,它似乎是全新的,但我在其他平台上使用过 libgd,我没有遇到任何问题。
我遇到的另一个有趣的是:https ://github.com/BradLarson/GPUImage2
我使用了原始的 GPUImage,它很棒。这个新版本支持 Linux,但在那个平台上听起来还不是很完善。它还可能需要 GPU,这绝对是一个问题,具体取决于您的最终目标。
在短期内,SwiftGD 似乎是你最好的选择。