Está en la página 1de 4

FACULTAD DE INGENIERÍA

ESCUELA ACADÉMICO PROFESIONAL DE

SISTEMAS

TRABAJO DE INVESTIGACIÓN

“Creando imágenes con PIL”

AUTORES:

Chanduvi Castillo Piero

Veliz Bruno Kevin JeanPierr

Madrid Robles Daniel

ASESOR:

Velasco CampoVerde Adin

Línea de investigación

Sistemas de información y comunicaciones

PIURA – PERÚ

2019
Programación en Python
PIL (Python Imagin Library) son unas librerías de Python destinadas al
procesamiento de imágenes. Gracias a esto podemos manipular imágenes,
crearlas, insertar texto, imágenes y todo ello lanzando un simple script. En este
artículo usaremos un fork de PIL llamado Pillow, aunque nos referiremos a él como
PIL. Está soportado tanto en Python 2.7 como en la versión 3, en este artículo se
usará la versión de Python 2.7.

Instalación de PIL
Para instalar las librerías PIL (el paquete se llama pillow) tenemos varias opciones,
personalmente recomiendo instalar los paquetes Python desde pip.

Creando una imagen en blanco


Una vez instalado PIL podemos comenzar a crear nuestras imágenes con un simple
script, en esta ocasión generaremos una imagen de 800 por 600 píxeles de color
blanco, por defecto PIL usa el color negro.

Insertando texto en la imagen


Para insertar texto en la imagen usaremos la clase ImageDraw:

Podemos asignarle una fuente con la clase ImageFont, debemos asignarle la ruta
hacia la fuente y el tamaño. Una vez seleccionada la fuente usamos el método
ImageDraw.text para insertar el texto en la imagen.
Texto centrado en la imagen
Para centrar el texto debemos hacer una serie de cálculos con los anchos y
largos del lienzo y del elemento de texto que queramos centrar. A
continuación, os dejo un ejemplo con el texto del ejemplo anterior centrado:

Esto nos dará como resultado la siguiente captura:

En este caso debemos hacer los cálculos tanto para la altura como para la
anchura, dependiendo de donde lo hagamos centraremos el eje X, el eje Y o
ambos. En el ejemplo anterior centro ambos ejes, y para ello debemos
dividir entre dos la resta del ancho del lienzo y la del ancho del texto para
centrarlo horizontalmente, para centrarlo verticalmente es la misma
operación, pero con la altura de los elementos. Para extraer el ancho del
texto usaremos la función de la clase Draw llamado textsize, a este método
debemos pasarle como argumento el texto de la imagen y la fuente que
estemos usando, si no se le adjunta la fuente no hará los cálculos
correctamente.
Insertando una imagen

En este caso pegar una imagen es bastante sencillo, tan sólo debemos abrri
la imagen con el método Image.open pasándole como argumento la ruta de
la imagen y acto seguido usar el método Image.paste para pegar la imagen
donde queramos, en este caso lo pegamos a 100 píxeles del borde izquierdo
y a 100 píxeles del borde superior. A continuación dejo una captura con el
resultado.