Agregar texto en la imagen usando Python – PIL

En Python, para abrir una imagen, edición de imágenes, guardar esa imagen en diferentes formatos, una biblioteca adicional llamada Python Imaging Library (PIL) . Usando este PIL podemos hacer tantas operaciones en imágenes como crear una nueva imagen, editar una imagen existente, rotar una imagen, etc. Para agregar texto, debemos seguir el enfoque dado.

Acercarse

  • Módulo de importación
  • Abrir imagen objetivo
  • Agregar propiedad de texto usando un objeto de imagen
  • Mostrar esa imagen editada
  • Guarda esa imagen

Sintaxis: obj.text( (x,y), Texto, fuente, relleno)

Parámetros: 

  • (x, y): Esta X e Y denota la posición inicial (en píxeles)/coordenada de agregar el texto en una imagen.
  • Texto: Texto o mensaje que queremos añadir a la Imagen.
  • Fuente: tipo y tamaño de fuente específico que le quieres dar al texto.
  • Relleno: Relleno es para dar el color de fuente a su texto.

Aparte de estos, requerimos algún módulo de PIL para realizar esta tarea. Necesitamos ImageDraw que pueda agregar gráficos 2D (formas, texto) a una imagen. Además, requerimos el módulo ImageFont para agregar un estilo de fuente y un tamaño de fuente personalizados. A continuación se muestra la implementación de agregar texto a una imagen. 

Imagen utilizada:

Ejemplo 1: Agrega un texto simple a una imagen. (sin estilo de fuente personalizado)

Python3

# Importing the PIL library
from PIL import Image
from PIL import ImageDraw
 
# Open an Image
img = Image.open('car.png')
 
# Call draw Method to add 2D graphics in an image
I1 = ImageDraw.Draw(img)
 
# Add Text to an image
I1.text((28, 36), "nice Car", fill=(255, 0, 0))
 
# Display edited image
img.show()
 
# Save the edited image
img.save("car2.png")

Producción:

Aquí puede ver que agregamos texto con éxito a una imagen, pero no se ve correctamente, por lo que podemos agregar el parámetro Fuente para darle un estilo personalizado.

Ejemplo 2: Agregar un texto simple a una imagen. (Con estilo de fuente personalizado)

Python3

# Importing the PIL library
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
 
# Open an Image
img = Image.open('car.png')
 
# Call draw Method to add 2D graphics in an image
I1 = ImageDraw.Draw(img)
 
# Custom font style and font size
myFont = ImageFont.truetype('FreeMono.ttf', 65)
 
# Add Text to an image
I1.text((10, 10), "Nice Car", font=myFont, fill =(255, 0, 0))
 
# Display edited image
img.show()
 
# Save the edited image
img.save("car2.png")

Producción:

Publicación traducida automáticamente

Artículo escrito por meetsuvariya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *