[PYTHON] Convertir une chaîne en image

Aperçu

En utilisant Python et PIL, j'ai résumé comment générer une image avec la chaîne de caractères tirée de la chaîne de caractères. Je prépare juste une image de fond et dessine des personnages.

PIL PIL (Python Image Library) est une bibliothèque de traitement d'images Python. Il semble que le développement soit actuellement arrêté, il serait donc préférable d'utiliser le successeur Pillow, mais il y a deux points que PIL est installé en standard dans Anaconda et que c'était possible avec la fonction PIL. Par conséquent, PIL est utilisé.

Sortie d'image

Je n'ai pas trouvé de page avec le titre de la conversion d'une chaîne de caractères en image, donc je l'ai utilisée après avoir étudié comment dessiner des caractères tout en regardant comment utiliser la bibliothèque de traitement d'image. En premier lieu, je ne pense pas qu'il existe une demande de conversion de chaînes de caractères en images, mais je pense qu'il existe de petites utilisations telles que la conversion d'adresses e-mail en images comme contre-mesure contre les e-mails non sollicités. Par conséquent, le titre était «Conversion d'une chaîne de caractères en image».

Dans le travail, j'ai fait référence à Comment utiliser la bibliothèque de traitement d'image Pillow (PIL) de Python.

Après avoir créé un objet Image avec «PIL.Image.new ()», un objet Draw est créé avec «PIL.ImageDraw.Draw ()». Dans PIL.Image.new (), le mode de couleur, la taille de l'image et la couleur d'arrière-plan sont spécifiés comme arguments.

Spécifiez la police utilisée dans PIL.ImageFont.truetype et sa taille. Après cela, j'ai obtenu la taille (nombre de pixels) du texte à dessiner avec draw.textsize (), j'ai ajusté le texte pour qu'il soit à l'endroit souhaité et je l'ai dessiné avec draw.text ().

import PIL.Image
import PIL.ImageDraw
import PIL.ImageFont

#Paramètres de police, de taille et de texte à dessiner
ttfontname = "C:\\Windows\\Fonts\\meiryob.ttc"
fontsize = 36
text = "Déclaration de type implicite"

#Définir la taille de l'image, la couleur d'arrière-plan, la couleur de la police
canvasSize    = (300, 150)
backgroundRGB = (255, 255, 255)
textRGB       = (0, 0, 0)

#Créer une image pour dessiner des personnages
img  = PIL.Image.new('RGB', canvasSize, backgroundRGB)
draw = PIL.ImageDraw.Draw(img)

#Dessinez une chaîne de caractères sur l'image préparée
font = PIL.ImageFont.truetype(ttfontname, fontsize)
textWidth, textHeight = draw.textsize(text,font=font)
textTopLeft = (canvasSize[0]//6, canvasSize[1]//2-textHeight//2) #1 de l'avant/6, placé au centre du haut et du bas
draw.text(textTopLeft, text, fill=textRGB, font=font)

img.save("image.png ")

Image de sortie

image.png

L'image a été sortie en toute sécurité.

Recommended Posts

Convertir une chaîne en image
Essayez d'extraire une chaîne de caractères d'une image avec Python3
Convertir une chaîne hexadécimale en binaire
[python] Convertir la date en chaîne
Je veux convertir une image en WebP avec sucette
Comment convertir / restaurer une chaîne avec [] en python
Qu'est-ce que vous aimez dans la conversion d'un tableau (liste) en chaîne?
Comment convertir un tableau en dictionnaire avec Python [Application]
Convertir un PDF A4 en A3 toutes les 2 pages
Workflow pour convertir une formule (image) en python
Convertir une chaîne de chemin qui utilise un lien symbolique au milieu en un chemin absolu
Je souhaite convertir une chaîne de caractères ISO-8601 en heure japonaise
Convertissez les données d'image (png) à portée de main en une image .pbm
Convertir un PDF en image avec ImageMagick
Outil pour convertir la configuration Juniper
Convertir en chaîne lors de la sortie de la sortie standard avec le sous-processus Python
Comment transformer une chaîne en tableau ou un tableau en chaîne en Python
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
Convertir (compresser) une chaîne de caractères JSON formatée en JSON 1 ligne
Essayez de générer une image avec aliénation
Une introduction à l'orientation des objets - Donnez à un objet un enfant.
Exemple de conversion en ondelettes d'images en Python
Convertir en HSV
Remarque: [Python3] Convertissez datetime en chaîne dans le format de votre choix
Je veux colorer une partie de la chaîne Excel avec Python
Utilisez BeautifulSoup pour extraire un lien contenant une chaîne d'un fichier HTML
Comment coder un drone en utilisant la reconnaissance d'image
Convertir un PDF en image (JPEG / PNG) avec Python
Comment incorporer des variables dans des chaînes python
Comment créer un objet fonction à partir d'une chaîne
J'ai essayé d'obtenir une image en grattant
Convertir une liste multidimensionnelle (tableau) en une dimension
Remarque Python: lors de l'attribution d'une valeur à une chaîne
J'ai essayé de générer une chaîne de caractères aléatoire
Ecrire un script pour convertir un vidage MySQL en TSV
Insérer un objet dans une chaîne en Python
J'ai essayé d'extraire le dessin au trait de l'image avec Deep Learning
Analyser une chaîne JSON écrite dans un fichier en Python
Je souhaite intégrer une variable dans une chaîne Python
Convertir un objet de tranche en liste de numéros d'index
Convertir 202003 en 2020-03 avec les pandas
Convertir les kanji en kana
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
Convertir jupyter en py
[Python] Comment développer des variables dans une chaîne de caractères
Convertir keras-yolo3 en ONNX
Enregistrer le graphique dessiné par pyqtgraph dans une image
Convertissez l'image au format .zip en PDF avec Python
J'ai créé un code pour convertir illustration2vec en modèle Keras
Comment transformer un fichier .py en fichier .exe
Convertir dict en tableau
Je veux diviser une chaîne de caractères avec hiragana
Comment convertir un spectrogramme Mel en un fichier wav
Comment créer un téléchargeur d'image avec Bottle (Python)
Comment déployer une application Go sur une instance ECS
[Python] Création d'une méthode pour convertir la base en 1 seconde
Convertir json en Excel
Comment prendre une image capturée à partir d'une vidéo (OpenCV)