我正在尝试开发一个简单的命令行macOS应用程序,该应用程序将使用Core image模糊输入图像,并将其保存在磁盘上的某个位置,如下所示:
./my-binary /absolute/path/input.jpg /absolute/path/output.jpg
如何将图像从绝对路径加载到CIImage
?
我有以下代码:
let imageURL = Bundle.main.pathForImageResource("/absolute/path/input.jpg")
let ciImage = CIImage(contentsOf: imageURL)
然而,CCD_ 2在执行之后保持CCD_ 3。
您需要使用提供给命令行应用程序的路径,而不是使用Bundle。为此,请使用CommandLine.Arguments
。
简单示例:
import Foundation
import CoreImage
let args = CommandLine.arguments
if args.count > 2 {
let inputURL = URL(fileURLWithPath: args[1])
let outputURL = URL(fileURLWithPath: args[2])
if let inputImage = CIImage(contentsOf: inputURL) {
// use the CIImage here
// save the modified image to outputURL
}
exit(EXIT_SUCCESS)
} else {
fputs("Error - Not enough argumentsn", stderr)
exit(EXIT_FAILURE)
}