FJC*_*FJC 5 macos nsimage swift2
我正在寻找示例代码,说明如何将NSImages合并到Mac OS(而不是Iphone IOS)的一个新NSImage中。谢谢
您可以使用Core Image中强大的过滤器来合并两个NSImage。
在此示例中,我们使用Core Image的“ CIAdditionCompositing”过滤器。
首先,从要混合的两个NSImage中创建CIImage,例如使用它们的URL:
let img1 = CIImage(contentsOfURL: yourFirstImageURL)
let img2 = CIImage(contentsOfURL: yourSecondImageURL)
Run Code Online (Sandbox Code Playgroud)
然后初始化CIFilter:
let filter = CIFilter(name: "CIAdditionCompositing")!
filter.setDefaults()
Run Code Online (Sandbox Code Playgroud)
合并两个图像,您可以确定哪个图像位于另一个图像的前面:
filter.setValue(img1, forKey: "inputImage")
filter.setValue(img2, forKey: "inputBackgroundImage")
let resultImage = filter.outputImage
Run Code Online (Sandbox Code Playgroud)
取回NSImage:
let rep = NSCIImageRep(CIImage: resultImage!)
let finalResult = NSImage(size: rep.size)
finalResult.addRepresentation(rep)
finalResult // is your final NSImage
Run Code Online (Sandbox Code Playgroud)
如果需要合并多个图像,只需使用上一个合并操作的结果,然后使用相同的代码将其再次添加到另一个图像。
注意:在此示例中,为清楚起见,我将“强制展开”可选件。在实际的代码中,您应该处理失败的可能性,并安全地打开可选组件。
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |