6

我正在构建一个 Kitura Web 应用程序,我需要能够处理用户上传的图像。

我有一个 Foundation 的实例Data,我想在不使用任何 Cocoa 库/框架(Foundation 除外)的情况下执行以下操作:

  • 验证是否Data是有效的图像文件
  • 将图像转换为.png
  • 检查图像的分辨率
  • 将图像文件调整为特定宽度,高度跟随比例
  • 保存到本地文件系统

我该怎么做?只要它们在 Linux 上工作,我就可以使用第三方库/框架。

4

1 回答 1

10

您应该使用 SwiftGD - libgd 的包装器。它支持您需要的所有操作: https ://github.com/twostraws/SwiftGD

它唯一不直接支持的是从内存中的 Data 实例中读取图像。您需要将其写入临时文件并从那里实例化。

我不能保证 Swift 包装器本身,它似乎是全新的,但我在其他平台上使用过 libgd,我没有遇到任何问题。

我遇到的另一个有趣的是:https ://github.com/BradLarson/GPUImage2

我使用了原始的 GPUImage,它很棒。这个新版本支持 Linux,但在那个平台上听起来还不是很完善。它还可能需要 GPU,这绝对是一个问题,具体取决于您的最终目标。

在短期内,SwiftGD 似乎是你最好的选择。

于 2017-01-30T04:01:03.437 回答