簡體   English   中英

Mac OS Xcode Swift 2.2將2個或更多NS圖像組合成一個新的NSImage

[英]Mac OS Xcode Swift 2.2 Combine 2 or more NS images into a one new NSImage

我正在尋找示例代碼如何將NSImages合並到一個新的NSImage for Mac OS(而不是Iphone IOS)。 謝謝

您可以使用Core Image中強大的過濾器合並兩個NSImages。

在這個例子中,我們使用的是Core Image的“CIAdditionCompositing”過濾器。

首先,從你想要混合的兩個NSImages中制作CIImages,例如使用它們的URL:

let img1 = CIImage(contentsOfURL: yourFirstImageURL)
let img2 = CIImage(contentsOfURL: yourSecondImageURL)

然后初始化CIFilter:

let filter = CIFilter(name: "CIAdditionCompositing")!
filter.setDefaults()

合並兩個圖像,您可以決定哪一個在另一個圖像的前面:

filter.setValue(img1, forKey: "inputImage")
filter.setValue(img2, forKey: "inputBackgroundImage")

let resultImage = filter.outputImage

回到NSImage:

let rep = NSCIImageRep(CIImage: resultImage!)
let finalResult = NSImage(size: rep.size)
finalResult.addRepresentation(rep)

finalResult // is your final NSImage

如果需要合並多個圖像,只需獲取上一個合並操作的結果,然后使用相同的代碼將其再次添加到另一個圖像。

注意:在這個例子中,為了清楚起見,我“強行打開”選項。 在您的真實代碼中,您應該處理失敗的可能性並安全地打開選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM