J'ai un système d'ajout d'image, l'utilisateur ajoute son image > j'appose un watermark en bas à droite.
Aujourd'hui, un utilisateur a proposé une image avec un profile qui fait que le collage "image/watermark" inverse les couleurs de l'image proposée (couleur rose et bleu au lieu du vert et jaune, voir exemple ci-joint).

J'ai aucune connaissance en image.
Je cherche évidement à ce que l'image de l’utilisateur reste à son état d'origine.
Mon code :
$fichier = __DIR__ . '/image.jpg';
$im = new Imagick($fichier);
$watermark = new Imagick(__DIR__ . '/watermark.png');
//largeur et hauteur de l'image actuelle
$largeur_image = $im->getImageWidth();
$hauteur_image = $im->getImageHeight();
//Supprime de l'image tous les profiles et les commentaires
$im->stripImage();
//On ajoute le watermark
//nouvelles dimensions
$largeur_image = $im->getImageWidth();
$hauteur_image = $im->getImageHeight();
//nouvelle image de la taille de l'image actuelle plus une hauteur supplémentaire pour mettre le filigrane en dessous de l'image
$nouvelle_image = new Imagick();
$nouvelle_image->newImage($largeur_image, $hauteur_image + 20, new ImagickPixel('white'));
$nouvelle_image->setImageFormat($im->getImageFormat());
//on colle l'image dans la nouvelle image
$nouvelle_image->compositeImage($im, Imagick::COMPOSITE_DEFAULT, 0, 0);
//on colle le filigrane en bas à droite -270 px (la largeur du watermark)
$nouvelle_image->compositeImage($watermark, Imagick::COMPOSITE_DEFAULT, $largeur_image - 270, $hauteur_image + 1);
header("Content-Type: image/jpg");
echo $nouvelle_image;
//$nouvelle_image->writeImage($fichier);