Protégez vos images contre la copie (application gratuite online)


Vous publiez vos plus belles photos sur votre page Web, mais vous redoutez les copieurs.

Avant toutes choses, il faut bien comprendre qu'il n'existe aucune protection réellement efficace de ce qui est publié sur le web.
Par définition, le contenu qui est publié arrive sur le navigateur des internautes où il peut toujours être récupéré d'une manière ou d'une autre.
Une fois que les pixels de votre image sont affichés sur l'écran du visiteur de votre site, ce dernier peut les récupérer, ne serait-ce qu'en faisant une copie d'écran.

Pas de miracle à espérer donc, et toutes les solutions proposées (blocage du clic droit, pixellisation de l'image, inscription d'un texte, masque transparent, marquage en filigrane...) ne font que limiter l'ampleur des dégâts.

La solution proposée ici ne règle bien entendu pas le problème, mais elle présente l'avantage de sa simplicité.
Le logiciel en ligne mis à votre disposition vous renvoie votre image protégée.

(essayez de copier cette image protégée)

Le principe est simple :

On découpe l'image en deux morceaux qui s'ajustent comme les pièces d'un puzzle pour reconstituer l'image.
Pris séparément, chacun des morceaux affiche un message de votre choix (du genre "copie interdite" par exemple).
Chacune des pièce du puzzle est une image qu'il suffit de superposer.
 
Le copieur peu vigilant se retrouvera avec l'image supérieure affichant votre message.
Le plus expérimenté ira chercher dans le code source l'adresse de l'image inférieure qu'il pourra télécharger, avec le message barrant l'image d'origine.
Recoller les morceaux n'est pas bien difficile avec un logiciel de dessin, mais l'énergie à dépenser dissuadera la majorité des copieurs.
Rien à faire bien sur contre la copie d'écran (mais là aussi, les copieurs paresseux ou pressés hésiteront à repasser par l'étape logiciel de dessin)...

Cliquez ici pour utiliser le logiciel online !

Et commment ça marche ?

Un petit script php.
On crée une image transparente de la même taille que l'image à protéger :
$taille=getimagesize("image_a_proteger.jpg");
$im = imagecreatetruecolor($taille[0],$taille[1]);
$transparent = imagecolorallocate($im,0,0,0);
imagecolortransparent($im,$transparent);

Et on y écrit notre texte par exemple en bleu, en police arial de taille 30, avec un angle nul, à partir du point de coordonnées 10px , 100px :
$textcolor = imagecolorallocate($im, 0, 0, 255);
imagefttext($im, 30, 0, 10, 100, $textcolor, "arial.ttf", "PAS DE COPIE");


Il suffit maintenant de balayer la nouvelle image pixel par pixel à la recherche des pixels bleus (le texte !).
A chaque fois qu'on rencontre un pixel bleu, on récupère la couleur du pixel de mêmes coordonnées dans l'image initiale, et on le recopie dans l'image transparente à la place du pixel bleu.
Une fois qu'on a complètement balayé l'image, le texte bleu a été "recolorié" au couleurs de l'image initiale.
Il suffit d'imprimer notre message dans la couleur souhaitée sur l'image d'origine :

$im_origine = imagecreatefromjpeg("image_a_proteger.jpg");
$rouge = imagecolorallocate($im, 255, 0, 0);
for($x = 0; $x < $taille[0]; $x++)
    {
    for($y = 0; $y < $taille[1]; $y++)
        {
        $index = imagecolorat($im, $x, $y); //récupère la couleur du pixel pour déterminer la position des pixel de l'image texte
        $rgb = imagecolorsforindex($im,$index);//récupère la couleur rgb du pixel
        if($rgb['blue']=="255")
            {
            $index_origine = imagecolorat($im_origine, $x, $y); //récupère la couleur des pixels de l'image initiale
            $rgb_origine = imagecolorsforindex($im_origine,$index_origine);//récupère la couleur rgb des pixel de l'image initiale
            $color_origine = imagecolorallocate($im, $rgb_origine['red'], $rgb_origine['green'], $rgb_origine['blue']);
            imagesetpixel($im, $x, $y, $color_origine); //recolorie le texte
            }
        }
    }
imagefttext($im_origine, 30, 0, 10, 100, $rouge, "arial.ttf", "PAS DE COPIE"); //inscrit le texte en rouge sur l'image d'origine
// créer les images
imagepng($im,"image_sup.png");
imagepng($im_origine,"image_inf.png");
imagedestroy($im);
imagedestroy($im_origine);


Voilà le principe.
Les quelques lignes ci-dessus montrent la simplicité de l'opération.
Il faut leur ajouter quelques compléments pour obtenir un bon résultat, mais l'essentiel y est.

Cliquez ici pour utiliser le logiciel online !