J'utilise libGDX pour un jeu Android; pour autant que je sache, il n'a pas d'API pour le flou.
En lisant sur Wikipedia, il semble que le flou se forme en définissant les valeurs RVB de chaque pixel sur la moyenne de toutes les valeurs adjacentes. Ce qui ne semble pas facilement possible dans libGDX - définir des données de pixels.
Ma question est donc simple:
Est-il possible de simuler un flou (décent) en utilisant uniquement des images?
Je peux potentiellement superposer plusieurs images (en nombre, transparence, type); mais puis-je créer un flou convaincant comme celui-ci?
Je suis tenté de dire «non», mais peut-être que quelqu'un d'autre a réalisé quelque chose de similaire. Pour plus de clarté, je veux un ensemble de 1+ images génériques que je peux rendre au-dessus de N'IMPORTE QUELLE image pour générer un effet flou.
la source
Réponses:
Si vous pouvez mélanger les images par addition et les multiplier par une constante tout en faisant cela, vous pouvez faire un flou. Au lieu de faire la moyenne des pixels d'un quartier, vous feriez la moyenne de plusieurs copies de l'image déplacées par un petit nombre de pixels les unes des autres. Ou plus généralement, vous pouvez faire un flou gaussien ou tout autre type de flou, en contrôlant les poids - c'est-à-dire en multipliant chaque copie déplacée de l'image par une constante au fur et à mesure qu'elle est ajoutée au reste.
Algorithmiquement, cela ressemblerait à ceci:
Vous utiliseriez les mêmes décalages et poids que dans la manière standard de faire un flou. Il existe de nombreux articles sur le Web sur la façon de générer les poids pour un flou gaussien, par exemple.
la source
Le flou peut être une opération coûteuse, une approche différente pourrait peut-être fonctionner, par exemple:
la source