Je crée une application de retouche d'image sous iOS et utilise la bibliothèque swift GPUImage2. Ici, je vais mettre en place des filtres qui seront prévisualisés dans un uicollectionview comme les applications traditionnelles de retouche d'image. J'ai généré une image pouce 50x50 pour la collection, puis j'y ai appliqué des filtres. Mes codes de filtrage sont:GPUImage 2 filtres dans collectionview
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;
}
ce que je fais je suis ici est filtrée faire les UIImage et les ajouter à CollectionView tableau de données et rechargeant plus tard. Je ne suis pas sûr que ce soit une bonne idée ou non. Mais le problème est que je n'obtiens que le premier filtre appliqué à tous.
Quand j'initialiser pictureOutput avant d'appliquer chaque filtre i obtenir des images rouges ... et son même pas lisse lors de l'ouverture du viewcontroller.
donc je pense que je pourrais faire dans le mauvais sens. Je n'ai trouvé aucune bonne ressource pour gérer ceci dans collectionview. Ce serait mieux si quelqu'un peut me montrer un projet git ou un tutoriel ou quelque chose. En outre toutes sortes de suggestions sont appréciés
Merci
je l'ai fait, mais je reçois des images rouges et des performances un peu lent .... pls vérifier les images rouges dans la question ... maintenant le traitement im seulement 3, mais plus tard traitera plus .... – coder
ok .. pouvez-vous mettre le code des méthodes cellForIndex? – NehaK
J'ai ajouté la méthode cellForIndex à ma question .... – coder