Search on blog:

Pillow: How to paste transparent animated gif on other image?

This example shows how to get animated GIF and put it on other image.

It uses ImageSequence to get animation frame-by-frame and paste it on duplicated background.

Because GIF has transparent bacground so it needs to convert frame(s) to RGBA to use Alpha as transparency mask.

After creating all new frames it gets first frame to save it and it append rest of frames using append_images It needs save_all to add all frames in GIF. It needs loop=0 for infinity loop. Using durationyou can decide how long to display every frame in milliseconds (1s = 1000ms).

from PIL import Image, ImageSequence

background   = Image.open('lenna.png')#.convert('RGBA')
animated_gif = Image.open("salty.gif")

all_frames = []

for gif_frame in ImageSequence.Iterator(animated_gif):

    # duplicate background image because we will change it (we will paste 
    new_frame = background.copy()

    # convert to `RGBA` to use `Alpha` in `paste` as transparency mask
    gif_frame = gif_frame.convert('RGBA')

    # paste on background with transparency mask (channel ALPHA in gif_frame)
    new_frame.paste(gif_frame, mask=gif_frame) 

    all_frames.append(new_frame)

# save first frame and append other frames with duration 100ms 
all_frames[0].save("image2.gif", save_all=True, append_images=all_frames[1:], duration=100, loop=0)

background - lenna.png (wikipedia: Lenna]

python example

animated GIF - salty.gif

python example

result - image.gif

python example

Python: Użycie pillow do stworzenia obrazku z miniaturkami w wierszach i kolumnach

Prosty skrypt, który bierze jako argument wzorzec typu path/*.jpg, ilośc wierszy, ilośc kolumn i tworzy siatkę z obrazkami (miniaturkami 100x100 pikseli)

Skrypt używa wzorca (zamiast nazwy katalogu) z funkcją glob.glob() aby pobrać nazwy plików, a następnie używa pillow aby wczytać obrazki, zmiejszyć je i wstawi na wynikowy obrazek …

Rysowanie planu mieszkania za pomocą PIL/Pillow w Pythonie

Rysowanie planu mieszkania z pomocą Pillow.

Przykład planu mieszkania w postaci współrzędnych początku i końca ściany.

Dla uwidocznienia ścian każda jest rysowana innym kolorem.

#!/usr/bin/env python
#-*- coding: utf-8 -*-

from PIL import Image, ImageDraw

# współrzędne ścian (poczatek_x, poczatek_y, koniec_x, koniec_y)
mieszkanie = [
    # kuchnia
    (0, 0, 100, 0),
    (0, 0, 0 …

Rysowanie wieloboku z obwódką wypełnionego kolorem z użyciem PIL/Pillow w Pythonie

Przykład jak moduł PIL oraz Pillow pozwala na rysowanie wieloboku z obwódką i/lib wypełnionego kolorem.

Przykład 1

Poniższy kod tworzy trójkąty w narożnikach pustego obrazka

#!/usr/bin/env python
#-*- coding: utf-8 -*-

from PIL import Image, ImageDraw

# stworzenie pustego obrazka
img = Image.new('RGB', (100,100))

# obiekt pozwalający rysować na …

« Page: 1 / 1 »