我正在构建一个Kitura Web应用程序,我需要能够处理用户上传的图像.
我有一个Foundation的数据实例,我想在不使用任何Cocoa库/框架(基础除外)的情况下执行以下操作:
>验证数据是否是有效的图像文件
>将图像转换为.png
>检查图像的分辨率
>将图像文件的大小调整为特定宽度,高度按比例调整
>保存到本地文件系统
我该怎么做?只要它们在Linux上运行,我就可以使用第三方库/框架.
解决方法
你应该使用SwiftGD – libgd的包装器.它支持您需要的所有操作:
https://github.com/twostraws/SwiftGD
https://github.com/twostraws/SwiftGD
The only thing it doesn’t support directly is reading an image from an in-memory Data instance. You’ll need to write it to a temporary file and instantiate from there.
我不能保证Swift包装器本身,这似乎是全新的,但我在其他平台上使用libgd并且我没有遇到任何问题.
我遇到的另一个有趣的是:https://github.com/BradLarson/GPUImage2
我使用了原始的GPUImage,非常棒.这个新版本支持Linux,但它听起来并不像它在该平台上非常精致.它也可能需要GPU,这肯定是一个问题,取决于你的最终目标.
在短期内,SwiftGD似乎是你最好的选择.