Maison > développement back-end > tutoriel php > PHP Master | Des filigranes d'image avec Imagick

PHP Master | Des filigranes d'image avec Imagick

William Shakespeare
Libérer: 2025-03-01 09:42:10
original
206 Les gens l'ont consulté

PHP Master | Des filigranes d'image avec Imagick

Les plats clés

  • L'extension Imagrick dans PHP fournit des fonctions qui rendent les images de filigrane simple et efficace. Avant de commencer, assurez-vous que l'extension Imagick est disponible sur votre hôte et ayez quelques images pour tester l'efficacité du filigrane.
  • Un filigrane efficace doit être visible dans divers arrière-plans, suffisamment transparent pour voir l'image d'origine, suffisamment grande pour couvrir une partie significative de l'image d'origine et devrait avoir du contraste. Un fichier PNG avec environ 40% d'opacité est suggéré pour une utilisation comme filigrane.
  • L'ajout d'un filigrane consiste à ouvrir l'image d'origine et le filigrane, superposant le filigrane sur l'image et économiser ou sortir le résultat. Si les tailles des images originales varient, il peut être nécessaire de faire évoluer le filigrane et de le placer dans le centre de l'image. Imagick fournit une API de traitement d'image complète pour faciliter ces opérations.
Imaginez qu'une de vos amies s'approche un jour et que vous voudriez que vous lui construisez un site Web afin qu'elle puisse présenter sa photographie. Elle veut pouvoir télécharger facilement ses photos et les faire filigraner pour que les gens ne puissent pas les voler facilement. "Ne t'inquiète pas!" Vous lui dites, parce que vous savez qu'il existe des fonctions fournies par l'extension Imagick qui fait du filigrane des images un jeu d'enfant en PHP. Cet article partage quelques indications sur ce qui fait un filigrane efficace, puis vous montre comment utiliser les fonctions Imagick pour ajouter un filigrane à votre image. Avant de commencer, assurez-vous que l'extension Imagick est disponible sur votre hôte. Il est également conseillé de trouver quelques images sur lesquelles vous pouvez tester le filigrane pour évaluer son efficacité.

Ce qui fait un bon filigrane

Pour qu'un filigrane soit efficace, il doit être visible contre une grande variété de milieux. Je vous suggère d'essayer de trouver au moins une photo de test très légère et une autre très sombre. Par exemple, ces deux photos de chiens de prairie de Shutterstock font une bonne paire de tests:

PHP Master | Des filigranes d'image avec Imagick

Il est important que le filigrane soit suffisamment transparent pour que vous puissiez toujours voir l'image d'origine, mais suffisamment opaque pour que ce soit difficile pour une personne sans scrupules de retirer. Un niveau d'opacité de 40% est probablement un bon point de départ, et vous pouvez l'augmenter ou le diminuer en fonction de la situation. Vous voulez également que le filigrane soit assez grand. Si vous mettez simplement un petit filigrane dans le coin inférieur droit, c'est une cible principale pour être recadré. Les filigranes qui couvrent une grande partie de l'image d'origine sont plus efficaces. Voyez comment Istockphoto et Shutterstock filigrane leur travail pour un exemple. Enfin, le filigrane devrait avoir du contraste. Pensez à rendre le filigrane sombre avec un coup clair ou un visa versa. C'est ce que font Istockphoto et Shutterstock, et leur marque est facilement visible sur toutes leurs images, que l'image originale soit claire ou sombre. Pour cet article, j'utiliserai cela comme filigrane, un fichier PNG avec environ 40% d'opacité:

PHP Master | Des filigranes d'image avec Imagick

ajoutant un filigrane

L'ajout du filigrane est un simple processus en 4 étapes: vous ouvrez d'abord l'image d'origine, ensuite vous ouvrez le filigrane, puis vous superposez le filigrane sur le dessus de la première image, puis enregistrez ou économisez le résultat. Voici le code:
<span><span><?php
</span></span><span><span>// Open the original image
</span></span><span><span>$image = new Imagick();
</span></span><span><span>$image->readImage("/path/to/image.jpg");
</span></span><span>
</span><span><span>// Open the watermark
</span></span><span><span>$watermark = new Imagick();
</span></span><span><span>$watermark->readImage("/path/to/watermark.png");
</span></span><span>
</span><span><span>// Overlay the watermark on the original image
</span></span><span><span>$image->compositeImage($watermark, imagick<span>::</span>COMPOSITE_OVER, 0, 0);
</span></span><span>
</span><span><span>// send the result to the browser
</span></span><span><span>header("Content-Type: image/" . $image->getImageFormat());
</span></span><span><span>echo $image;</span></span>
Copier après la connexion
Copier après la connexion
Vous pouvez ouvrir des images à partir d'un chemin en créant une nouvelle instance de la classe Imagrick et en utilisant sa méthode ReadImage (). Une bonne chose à propos d'Imagick est qu'il peut ouvrir à tout moment de fichier que ImageMagick a été compilé pour prendre en charge, vous n'avez donc pas besoin de lui dire explicitement que le fichier est un JPEG ou PNG; Il est assez intelligent pour le comprendre seul. Pour superposer l'image de filigrane, vous utilisez la méthode compositeMage (). Dans cet exemple, la méthode accepte quatre paramètres: la première est l'image qui sera superposée, la seconde est une constante prédéfinie représentant le type d'opération de composition que l'imagick devrait effectuer (il y a une couche entière à choisir pour obtenir différents effets), et les troisième et quatrième paramètres sont les coordonnées X et Y pour placer le watermark mesuré dans les pixels du coin supérieur-little. Par défaut, PHP suppose que la sortie de votre script est HTML et envoie automatiquement un en-tête de type contenu Text / HTML . Si vous publiez l'image, le navigateur ne le gérera pas correctement car les en-têtes lui disent que vous envoyez du texte. Pour éviter que vos visiteurs ne soient accueillis avec une page de charabia, vous devez demander à PHP d'envoyer un en-tête plus approprié à l'aide d'en-tête () avant d'envoyer l'image. Au lieu de simplement codage dur de la valeur de l'en-tête de type contenu, l'exemple accède au type de l'image à l'aide d'Imagick lui-même qui est ensuite utilisé pour construire un type de mime approprié à la volée. Voici le résultat final, une image filigranée:

PHP Master | Des filigranes d'image avec Imagick

Mise à l'échelle du filigrane

L'exemple précédent a positionné le filigrane en haut à gauche de l'image d'origine. Bien que cette approche soit bien si vous connaissez la taille des images originales à l'avance car vous pouvez créer le filigrane avec les dimensions appropriées, vous voudrez peut-être une approche plus robuste au cas où les tailles des images originales varient. Une telle approche pourrait être de placer le filigrane au centre de l'image et de mettre à l'échelle le filigrane au préalable s'il est plus grand que l'image d'origine.
<span><span><?php
</span></span><span><span>// Open the original image
</span></span><span><span>$image = new Imagick();
</span></span><span><span>$image->readImage("/path/to/image.jpg");
</span></span><span>
</span><span><span>// Open the watermark
</span></span><span><span>$watermark = new Imagick();
</span></span><span><span>$watermark->readImage("/path/to/watermark.png");
</span></span><span>
</span><span><span>// Overlay the watermark on the original image
</span></span><span><span>$image->compositeImage($watermark, imagick<span>::</span>COMPOSITE_OVER, 0, 0);
</span></span><span>
</span><span><span>// send the result to the browser
</span></span><span><span>header("Content-Type: image/" . $image->getImageFormat());
</span></span><span><span>echo $image;</span></span>
Copier après la connexion
Copier après la connexion
Le getimagewidth () et les méthodes getImageHeight () renvoient respectivement la largeur et la hauteur d'une image, mesurée en pixels. En comparant la largeur et la hauteur de l'image de filigrane à celles de l'image d'origine, vous pouvez déterminer s'il est nécessaire ou non de redimensionner le filigrane afin qu'il s'adapte aux images plus petites. Le redimensionnement du filigrane est accompli en appelant la méthode ScaleImage () qui prend une largeur et une hauteur autorisées. La méthode réduira l'image de manière à ce que la largeur maximale ne soit pas plus grande que la largeur autorisée et que la hauteur maximale ne soit pas plus grande que la hauteur autorisée, tout en maintenant le rapport d'aspect de l'image. Et voici l'image filigranée qui résulte de cet exemple:

PHP Master | Des filigranes d'image avec Imagick

Résumé

La bibliothèque Imagick fournit une API de traitement d'image complète. En effet, vous avez vu à quel point il est facile d'ouvrir des fichiers d'images, de déterminer leurs dimensions et de format d'image, de les mettre à l'échelle et de superposer l'un sur un autre pour les filigraner. Habituellement, je suggère la documentation sur php.net si vous souhaitez en savoir plus sur les capacités d'une extension, mais dans le cas d'Imagick, la documentation est inégale. De nombreuses méthodes n'ont que leur liste de paramètres. Donc, si vous voulez en savoir plus, PHP.NET est toujours un bon point de départ, mais vous devrez peut-être rechercher plus d'informations pour les méthodes sous une autre forme (l'application de ligne de commande, par exemple) sur le site ImageMagick lui-même et Google.

Questions fréquemment posées (FAQ) sur les images de filigrane

Quel est le but des images de filigrane?

Les images de filigrane servent à plusieurs fins. Il s'agit principalement d'un moyen de protéger la propriété numérique ou intellectuelle, une méthode pour empêcher une utilisation ou une réplication non autorisée d'images sans accorder le crédit au propriétaire légitime. Les filigranes peuvent être un logo, une signature ou un tampon qui identifie le créateur de l'image. Ils servent également d'outil de marketing, faisant subtilement la promotion de la marque du créateur chaque fois que l'image est partagée ou utilisée.

Comment puis-je créer un filigrane pour mes images?

Il existe plusieurs façons de créer un filigrane pour vos images. Vous pouvez utiliser un logiciel de conception graphique comme Adobe Photoshop ou des outils en ligne gratuits comme WaterMark.ws. Ces plates-formes vous permettent de télécharger votre logo ou tout texte et ajuster son opacité pour créer un filigrane. Vous pouvez ensuite enregistrer ce filigrane et l'appliquer à vos images.

Les filigranes peuvent-ils être supprimés des images?

Bien qu'il soit techniquement possible de supprimer les filigranes des images en utilisant certains logiciels, il est généralement considéré comme contraire à l'éthique et potentiellement illégal. Le but d'un filigrane est de protéger les droits de propriété intellectuelle du créateur. Le supprimer peut porter atteinte à ces droits et entraîner des conséquences juridiques.

Comment puis-je filigraner plusieurs images à la fois?

Le filigrane par lots est possible avec certains logiciels et outils en ligne. Ceux-ci vous permettent de télécharger plusieurs images et d'appliquer votre filigrane à chacun d'eux à la fois, vous faisant gagner du temps et des efforts. Des exemples de tels outils incluent le filigrane.ws et le filigrane visuel.

Où dois-je placer mon filigrane?

Le placement de votre filigrane dépend de votre préférence et de l'image elle-même. Cependant, il est généralement recommandé de le placer là où il peut être facilement vu mais ne distrait pas de l'image. Les placements courants incluent le coin inférieur droit ou gauche, ou à travers le centre de l'image.

Puis-je personnaliser l'apparence de mon filigrane?

Oui, la plupart des outils de filigrane vous permettent de personnaliser l'apparence de votre filigrane. Vous pouvez généralement ajuster la taille, la couleur, l'opacité et la position. Certains outils vous permettent également d'ajouter des effets tels que des ombres ou des brillants.

Les images de filigrane sont-elles nécessaires?

si ou non des images de filigrane est une décision personnelle qui dépend de vos besoins et préoccupations spécifiques. Si vous vous inquiétez du vol d'images ou si vous souhaitez augmenter la visibilité de la marque, le filigrane peut être bénéfique. Cependant, certains créateurs choisissent de ne pas filigraner leurs images pour maintenir une vue propre et dégagée de leur travail.

Le filigrane affecte-t-il la qualité de l'image?

Si cela est fait correctement, le filigrane ne devrait pas affecter de manière significative la qualité de votre image. Cependant, il est important de vous assurer que votre filigrane n'est pas trop intrusif ou distrayant, car cela peut nuire à l'image globale.

Puis-je faire un filigrane des vidéos?

Oui, similaire aux images, les vidéos peuvent également être filigrantes pour les protéger de l'utilisation non autorisée. Des logiciels d'édition vidéo comme Adobe Premiere Pro et des outils en ligne comme Kapwing vous permettent d'ajouter des filigranes à vos vidéos.

Quelles sont les implications juridiques de l'utilisation d'images filigranées?

L'utilisation d'images filigranées peut entraîner des conséquences juridiques. Le filigrane indique que l'image est protégée par le droit d'auteur, et l'utiliser sans le consentement du créateur peut être considérée comme une violation du droit d'auteur. Il est toujours préférable de demander la permission avant d'utiliser des images filigranées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal