Il existe une méthode simple pour le faire:
Ouvrez les images en deux calques, exécutez Filtres - Animation - Optimiser (différence), vous devriez obtenir la même image résultante qui est maintenant faite du calque inférieur et d'un calque diff au-dessus.
Les choses ne se compliquent que si vous avez une transparence partielle, car le filtre la supprime.
Voici une solution de contournement que j'ai trouvée pour ce cas:
- Supprimer le canal alpha sur les deux couches (l'action est dans le menu contextuel)
Les images recevront un fond blanc, mais ne vous inquiétez pas, nous l'annulerons plus tard.
- Filtres - Animation - Optimiser (différence)
Maintenant, nous avons le calque de différence avec un fond blanc dans les endroits de transparence partielle, mais nous avons besoin de ces pixels pour être transparent, nous allons donc prendre la forme du diff et copier l'image de cette forme à partir du calque supérieur d'origine. Assurez-vous que la couche diff nouvellement générée est sélectionnée et continuez:
- Calque - Calque à la taille de l'image
- Édition - Copier (Ctrl + C)
- Retour à l'image d'origine
- Annuler, Annuler pour rendre la transparence à nos calques
- Édition - Coller en tant que - Nouveau calque
- Alpha à la sélection (dans le menu contextuel) sur le calque diff collé
- Supprimer le calque diff collé
- Assurez-vous que le calque supérieur est sélectionné et copiez-le (Ctrl + C)
- Maintenant, vous avez le diff, il suffit de le coller (Ctrl + V) et de créer un nouveau calque à partir de celui-ci.
Bien sûr, aucune magie ne se produit, et la couche supérieure partiellement transparente ne modifiera pas les couleurs ou ne réduira pas la transparence de la couche inférieure, donc c'est uniquement pour les cas d'extension, où les pixels modifiés de la couche supérieure recouvrent la couche inférieure.
La méthode de PS jsbueno n'a pas fonctionné pour moi.