Maison  >  Article  >  développement back-end  >  Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !

WBOY
WBOYavant
2023-04-12 18:43:131762parcourir

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !

Lorsque vous travaillez, en particulier pour les travailleurs des médias indépendants, des outils d'ajout de filigrane sont nécessaires pour protéger les images de propriété intellectuelle. Il existe de nombreux outils d'ajout de filigrane en ligne/téléchargés sur Internet, mais ils présentent tous les problèmes suivants :

1. Les outils en ligne doivent télécharger des images sur le serveur de l'autre partie et les informations ne sont pas sécurisées.

2. De nombreux outils n'ont pas de fonctions de traitement par lots.

3. De nombreux outils ont trop peu de fonctions personnalisables, telles que la transparence des filigranes, les polices, etc.

4. L'opération est lourde.

Maintenant, tant que vous savez utiliser les commandes, nous pouvons vous apprendre à utiliser Python pour ajouter des filigranes aux images très facilement, et il présente les fonctionnalités suivantes :

1. Prend en charge les polices de filigrane personnalisées.

2. Prend en charge le contenu et la couleur du texte personnalisés.

3. Prise en charge du traitement par lots.

4. Prise en charge de la définition de l'espace entre les filigranes.

5. Prise en charge de la définition de la taille de la police du filigrane.

6. Prise en charge du réglage de la transparence.

7. Votre propre code, en toute sécurité.

Nous devons utiliser le projet open source 2Dou :

​https://www.php.cn/link/4b5b81483048c8942ed00caaa17b9535​

Un projet open source très utile, merci à l'auteur original.

Il existe trois façons de télécharger ce projet :

1 Si votre réseau peut accéder à github, vous pouvez accéder à la page, cliquer sur cloner ou télécharger puis cliquer sur Télécharger Zip

2. utilisez cmd /terminal Entrez le dossier que vous souhaitez placer et entrez la commande :

git clone https://www.php.cn/link/4b5b81483048c8942ed00caaa17b9535.git

3 Si vous ne l'avez pas, vous pouvez directement répondre au filigrane en arrière-plan du compte officiel de Python Practical Collection pour télécharger l'intégralité. version réparée du code de cet article.

Téléchargez-le et décompressez-le dans n'importe quel dossier dans lequel vous souhaitez le placer. Il est préférable de ne pas inclure de noms chinois dans le chemin. Si vous avez téléchargé en utilisant les deux premières méthodes et que vous êtes un utilisateur du système Windows, veillez à changer le nom du fichier de police du projet en anglais. De plus, il y a une place dans le marqueur. .py qui doit être modifié comme suit :

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !

Changez le Blue Bird Huaguang Jane Amber.ttf dans le dossier des polices en bird.ttf. Le nom n'a pas d'importance. utilisez un nom chinois, sinon Pillow ne pourra pas utiliser le fichier modifié.

Notez que la dixième ligne du fichier Marker.py doit être remplacée par le nom correspondant, qui correspond au nom du fichier de police dans le dossier de polices.

Nous venons de mentionner la bibliothèque Pillow. Le fonctionnement de ce package nécessite l'utilisation de cette bibliothèque tierce, spécialement utilisée pour traiter les images. Ouvrez CMD/Terminal et entrez la commande suivante pour l'installer :

pip install pillow

Après l'installation. est terminé, nous pouvons l'essayer ! L'exemple le plus courant est le suivant. Placez l'image que vous souhaitez filigraner dans le dossier d'entrée du projet, puis entrez le dossier où vous stockez le projet dans cmd/Terminal et entrez la commande suivante :

python marker.py -f ./input/baby.jpg -m python实用宝典

La signification de chaque paramètre. est la suivante:

-f Chemin du fichier : c'est le chemin de votre image

-m Contenu du texte : c'est le contenu du filigrane que vous souhaitez créer. Si le paramètre n'est pas défini, ce sera la valeur par défaut. , qui apparaîtra dans le dossier de sortie une fois l'opération terminée. L'image filigranée correspondante a l'effet suivant :

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !Ajouter un filigrane

La couleur du filigrane par défaut est... Merde d'image jaune ?

Mais ce n’est pas grave, on peut modifier sa couleur en ajoutant le paramètre -c ! (Le format par défaut du paramètre est # suivi de 6 chiffres hexadécimaux). A l'aide de l'outil image, on peut retrouver la valeur de votre couleur préférée :

Puis on rentre la commande :

python marker.py -f ./input/baby.jpg -m python实用宝典 -c #232862

Succès ! Jetez un œil à l'effet :

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !Changez la couleur du filigrane

Ouais ! Cela semble mieux, mais il semble que la couleur du filigrane soit un peu sombre. Nous pouvons modifier la transparence pour la rendre plus claire. La transparence par défaut est de 0,15, ce qui peut réduire cette valeur :

python marker.py -f ./input/baby.jpg -m python实用宝典 -c #232862 --opacity 0.08

Le. le résultat est le suivant :

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !Le filigrane devient plus transparent

En fait, il y a d'autres paramètres, nous ne les montrerons pas un par un, il y a ces paramètres au total :

  1. -f 参数,指定打水印的文件,如果你想打印整个文件夹,则输入该文件夹路径即可。
  2. -m 参数,指定水印内容。
  3.  -o 参数,指定输出水印文件的位置,默认为output文件夹。
  4. -c 参数,指定水印的颜色,默认值为shi..啊不,黄色,#8B8B1B.
  5. -s 参数,指定水印与水印之间的空隙,默认值为75.
  6. -a 参数,指定水印的旋转角度,我们的例子中都是默认值30度。
  7.  --size参数,指定水印文本字体大小,默认值为50。
  8. --opacity参数,指定透明度,默认为0.15,数值越小越透明。

接下来给大家试试批量处理功能,首先把所有图片放置到项目的input文件夹下:

然后输入命令里,指定文件夹即可!

python marker.py -f ./input -m python实用宝典 -c #232862 --o

你会看到input文件夹名后没有/baby.jpg了,这表明将input文件夹下所有的图片打水印。

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !

看到 文件名 succes 则说明批处理成功!

还有一个隐藏功能!如果你想要修改字体也可以哦!还记得我们前面怎么修复windows的中文名问题吗?如图,你只要将新的字体文件放到font文件夹下,然后修改TTF_FONT变量里的字体名字,与font文件夹下的新字体名字相对应即可改成你想要的字体了图片!

Le filigrane par lots Python ne nécessite qu’une seule ligne de commandes !

修改字体

我们的文章到此就结束啦,如果你希望我们今天的Python教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦图片有任何问题都可以在下方留言区留言,我们都会耐心解答的!

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer