DEV Community

Pandeyashish17
Pandeyashish17

Posted on

Generate image from text with random gradient background everytime

import random
from PIL import Image, ImageDraw, ImageFont

# Create a new image with a gradient background
width, height = 200, 50
start_color = (random.randint(0,255),random.randint(0,255),random.randint(0,255))
end_color = (random.randint(0,255),random.randint(0,255),random.randint(0,255))
img = Image.new('RGB', (width, height), color = start_color)
draw = ImageDraw.Draw(img)

# Add a gradient to the background
for x in range(width):
    for y in range(height):
        color = tuple(int(start_color[i] + (end_color[i] - start_color[i]) * x / width) for i in range(3))
        draw.point((x, y), fill=color)

# Use the Audiowide font
font = ImageFont.truetype("Audiowide-Regular.ttf", size=24)

# Draw the text on the image
draw.text((10, 10), "Hello, World!", fill=(0, 0, 0), font=font)

# Save the image
img.save('text_image.png')

Enter fullscreen mode Exit fullscreen mode

Top comments (0)