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é.
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 ")
L'image a été sortie en toute sécurité.
Recommended Posts