У меня есть код, который добавляет градиент на изображение.Python Pillow: Сделать градиент для прозрачности
def st(path, gradient_magnitude=2.):
im = Image.open(path)
if im.mode != 'RGBA':
im = im.convert('RGBA')
width, height = im.size
gradient = Image.new('L', (width, 1), color=0xFF)
for x in range(width):
gradient.putpixel((x, 0), int(255 * (1 - gradient_magnitude * float(x)/width)))
alpha = gradient.resize(im.size)
black_im = Image.new('RGBA', (width, height), color=0x000000)
black_im.putalpha(alpha)
gradient_im = Image.alpha_composite(im, black_im)
gradient_im.save('out.jpg', 'JPEG')
После запуска я получаю это изображение
Как я могу сделать градиент больше прозрачности?
использование 'альфа = 0.5' вместо' альфа = gradient.resize (im.size) ' – JMat
Я получил эту ошибку TypeError: целочисленный аргумент ожидалось, получил поплавок – saa
И как он должен работать, если альфа - Новый альфа-слой. Это может быть либо образ «L», либо «1», имеющий тот же размер, что и это изображение, или целое или другое значение цвета. Здесь black_im.putalpha (alpha) – saa