Este artículo trata sobre cómo poner una imagen PNG transparente con otra imagen. Esta es una operación muy común en las imágenes. Tiene muchas aplicaciones diferentes. Por ejemplo, agregar una marca de agua o un logotipo en una imagen. Para hacer esto, estamos usando el módulo PIL en Python. En el que usamos algunos métodos incorporados y combinamos las imágenes de tal manera que parece estar pegado.
- Función Abrir : se utiliza para abrir una imagen.
- Función de conversión : devuelve una copia convertida de una imagen dada. Convierte la imagen a su color verdadero con una máscara de transparencia.
- Función Pegar : se utiliza para pegar una imagen en otra imagen.
Sintaxis: PIL.Image.Image.paste(imagen_1, imagen_2, cuadro=Ninguno, máscara=Ninguno)
O
imagen_objeto.paste(imagen_2, cuadro=Ninguno, máscara=Ninguno)Parámetros:
- image_1/image_object : Es la imagen sobre la que se pegará otra imagen.
- image_2: imagen de origen o valor de píxel (entero o tupla).
- cuadro: una tupla de 4 opcional que proporciona la región para pegar. Si en su lugar se usa una tupla de 2, se trata como la esquina superior izquierda. Si se omite o Ninguno, la fuente se pega en la esquina superior izquierda.
- máscara: una máscara que se utilizará para pegar la imagen. Si pasa una imagen con transparencia, entonces el canal alfa se usa como máscara.
Acercarse:
- Abra la imagen frontal y de fondo usando la función Image.open().
- Convierte tanto la imagen a RGBA.
- Calcula la posición donde quieres pegar la imagen.
- Utilice la función de pegar para fusionar las dos imágenes.
- Guarda la imagen.
Datos de entrada:
Para ingresar los datos, estamos usando dos imágenes:
- Imagen frontal: una imagen transparente como un logotipo
- Imagen de fondo: Para el fondo como cualquier imagen de fondo de pantalla
Implementación:
Python3
# import PIL module from PIL import Image # Front Image filename = 'front.png' # Back Image filename1 = 'back.jpg' # Open Front Image frontImage = Image.open(filename) # Open Background Image background = Image.open(filename1) # Convert image to RGBA frontImage = frontImage.convert("RGBA") # Convert image to RGBA background = background.convert("RGBA") # Calculate width to be at the center width = (background.width - frontImage.width) // 2 # Calculate height to be at the center height = (background.height - frontImage.height) // 2 # Paste the frontImage at (width, height) background.paste(frontImage, (width, height), frontImage) # Save this image background.save("new.png", format="png")
Producción:
Publicación traducida automáticamente
Artículo escrito por adityapande88 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA