ich zum Beispiel Code suchen, wie NSImages in eine neue NSImage für Mac OS (nicht Iphone IOS) zu fusionieren. ThxMac OS Xcode Swift 2.2 Kombinieren Sie 2 oder mehr NS Bilder in ein ein neues NSImage
Antwort
Sie können die leistungsstarken Filter von Core Image verwenden zwei NSImages zu verschmelzen.
In diesem Beispiel Core Image des "CIAdditionCompositing" Filter verwenden.
Zuerst machen CIImages aus den beiden NSImages Sie, zum Beispiel mit ihrer URL mischen wollen:
let img1 = CIImage(contentsOfURL: yourFirstImageURL)
let img2 = CIImage(contentsOfURL: yourSecondImageURL)
Dann initialisieren CIFilter:
let filter = CIFilter(name: "CIAdditionCompositing")!
filter.setDefaults()
Zusammenführen der beiden Bilder erhalten Sie auf entscheiden, welche man vor dem anderen ist:
filter.setValue(img1, forKey: "inputImage")
filter.setValue(img2, forKey: "inputBackgroundImage")
let resultImage = filter.outputImage
Erhalten Sie ein NSImage zurück:
Wenn Sie mehrere Bilder zusammenführen müssen, nehmen Sie einfach das Ergebnis der vorherigen Zusammenführungsoperation und fügen Sie es erneut einem anderen Bild hinzu, das denselben Code verwendet.
Hinweis: in diesem Beispiel bin ich „Kraft auspackt“ die optionals, für Klarheit. In Ihrem echten Code sollten Sie die Möglichkeit eines Fehlers behandeln und die Optionen stattdessen sicher auspacken.
Funktioniert gut, Thx – FJC
Gern geschehen. – Moritz
Hallo @EricAya, deine Antwort ist wirklich gut. Wenn ich außerdem eine Position von inputImage auf inputBackgroundImage festlegen möchte (z. B. inputImage wird in der unteren rechten Ecke von inputBackgroundImage platziert), wie könnte ich es in CIFilter spezifizieren –
Vielen Dank für Ihre Antwort. Jedoch die referenzierte Code erstellt ein CI Bild nicht die NSImage gewünschte – FJC
Ich habe versucht, diesen Link http://stackoverflow.com/questions/17386650/converting-ciimage-into-nsimage, die nicht funktioniert hat, Sie haben einen guten Link? – FJC
Noch besser, ich schreibe eine Antwort, ich bin fast fertig. :) – Moritz