Ich mache eine Bildbearbeitungs-App in iOS und benutze swift GPUImage2 Library. Hier werde ich einige Filter implementieren, die wie herkömmliche Bildbearbeitungs-Apps in einer uicollectionview-Vorschau angezeigt werden.GPUImage 2 Filter in Sammlungsansicht
Ich habe 50x50 thumb image für die Kollektionsansicht generiert und dann Filter angewendet. Meine Filter Codes sind:
var filterOptions = [FilterOption]();
var thumbInput: PictureInput!;
let meFilter = MissEtikateFilter()
let sketchFilter = SketchFilter();
let softeleganceFliter = SoftElegance()
var pictureOutput = PictureOutput()
func thumbFilters() {
pictureOutput.imageAvailableCallback = {image in
// Do something with image
self.filterOptions.append(FilterOption(name: "MissEtikateFilter", image: image))
}
thumbInput --> meFilter --> pictureOutput
thumbInput.processImage(synchronously: true)
sketchFilter.edgeStrength = 1;
pictureOutput.imageAvailableCallback = {image in
// Do something with image
self.filterOptions.append(FilterOption(name: "SketchFilter", image: image))
}
thumbInput --> sketchFilter --> pictureOutput
thumbInput.processImage(synchronously: true)
pictureOutput.imageAvailableCallback = {image in
// Do something with image
self.filterOptions.append(FilterOption(name: "SoftElegance", image: image))
}
thumbInput --> softeleganceFliter --> pictureOutput
thumbInput.processImage(synchronously: true)
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "FilterCell", for: indexPath as IndexPath) as! FilterCell
cell.OptionIcon.image = filterOptions[indexPath.item].image;
return cell;
}
, was ich tue hier ist i das gefilterte UIImage mache und das Hinzufügen von ihnen Datenarray zu Collection und später neu zu laden. Ich bin mir nicht sicher, ob es eine gute Idee ist oder nicht. Aber das Problem ist, ich bekomme nur den ersten Filter, der auf alle angewendet wird.
Wenn ich pictureOutput initialisieren vor jeder Anwendung von Filtern erhalten i rote Bilder ... und seine nicht einmal glatt, wenn die Viewcontroller zu öffnen.
Also ich glaube, ich könnte es in der falschen Weise tun. Ich habe keine gute Ressource gefunden, um dies in Collectionsview zu behandeln. Es wäre besser, wenn mir jemand ein Git Projekt oder Tutorial zeigen könnte. Auch jede Art von Anregungen geschätzt
Dank
ich das getan habe, aber ich bin immer rot Bilder und Leistung ein wenig langsam .... pls überprüfen Sie die roten Bilder in der Frage ... jetzt im Bearbeitung nur 3, aber später wird mehr verarbeiten .... – coder
ok .. können Sie setzen Sie cellForIndex Methoden-Code? – NehaK
Ich habe die cellForIndex-Methode zu meiner Frage hinzugefügt .... – coder