img = op.filter(bufferedImage,null);
Ben... ceci te renvoie la BufferedImage sur laquelle a ete appliquee la premiere transformation BufferedImageOp. Desormais c'est sur cette image que tu dois appliquer la seconde, ce qui te produira une image sur laquelle tu appliquera la troisieme,...
1 2 3 4 5 6 7
| BufferedImageOp[] ops = ...
BufferedImage source = ...
BufferedImage result = null;
for (BufferedImageOp op : ops) {
result = op.filter((result == null) ? source : result, null);
}
return result; |
Evidement ainsi une nouvelle image sera cree a chaque boucle. A voir s'il n'est pas possible de specifer result a la place de null en second argument pour essayer de ne pas en creer une a chaque fois (peut ne pas fonctionner avec tous les filtres nottament ceux qui travaillent sur un ensemble de pixels plutot qu'un seul).
Partager