Owo Level#

Example of owo leveling card made using easy-pil

from easy_pil import Canvas, Editor, Font

user_data = {
    "name": "Shahriyar#9770",
    "bio": "An Example Bot user",
    "level": "15",
    "xp": "1.2k / 3k",
    "percentage": 45,
}


background = Editor(Canvas((800, 240), color="#23272A"))
profile = Editor("assets/pfp.png").resize((200, 200))

# For profile to use users profile picture load it from url using the load_image/load_image_async function
# profile_image = load_image(str(ctx.author.avatar_url))
# profile = Editor(profile_image).resize((200, 200))


font_40 = Font.poppins(size=40)
font_20 = Font.montserrat(size=20)
font_25 = Font.poppins(size=25)
font_40_bold = Font.poppins(size=40, variant="bold")

background.paste(profile, (20, 20))
background.text((240, 20), user_data["name"], font=font_40, color="white")
background.text((240, 80), user_data["bio"], font=font_20, color="white")
background.text((250, 170), "LVL", font=font_25, color="white")
background.text((310, 155), user_data["level"], font=font_40_bold, color="white")

background.rectangle((390, 170), 360, 25, outline="white", stroke_width=2)
background.bar(
    (394, 174),
    352,
    17,
    percentage=user_data["percentage"],
    fill="white",
    stroke_width=2,
)

background.text((390, 135), "Rank : 45", font=font_25, color="white")
background.text(
    (750, 135), f"XP : {user_data['xp']}", font=font_25, color="white", align="right"
)


background.show()

Output#

../_images/owo_level.png