aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/exts/evergreen/avatar_modification/_effects.py20
-rw-r--r--bot/exts/evergreen/avatar_modification/avatar_modify.py5
2 files changed, 12 insertions, 13 deletions
diff --git a/bot/exts/evergreen/avatar_modification/_effects.py b/bot/exts/evergreen/avatar_modification/_effects.py
index 46d1a2ab..92244207 100644
--- a/bot/exts/evergreen/avatar_modification/_effects.py
+++ b/bot/exts/evergreen/avatar_modification/_effects.py
@@ -22,6 +22,7 @@ class PfpEffects:
"""Applies the given effect to the image passed to it."""
im = Image.open(BytesIO(image_bytes))
im = im.convert("RGBA")
+ im = im.resize((1024, 1024))
im = effect(im, *args)
bufferedio = BytesIO()
@@ -74,7 +75,6 @@ class PfpEffects:
@staticmethod
def pridify_effect(image: Image.Image, pixels: int, flag: str) -> Image.Image:
"""Applies the given pride effect to the given image."""
- image = image.resize((1024, 1024))
image = PfpEffects.crop_avatar_circle(image)
ring = Image.open(Path(f"bot/resources/pride/flags/{flag}.png")).resize((1024, 1024))
@@ -283,16 +283,14 @@ class PfpEffects:
return new_image
@staticmethod
- def mosaic_effect(img_bytes: bytes, squares: int, file_name: str) -> discord.File:
- """Separate function run from an executor which turns an image into a mosaic."""
- avatar = Image.open(BytesIO(img_bytes))
- avatar = avatar.convert("RGBA").resize((1024, 1024))
+ def mosaic_effect(image: Image.Image, squares: int) -> Image.Image:
+ """
+ Applies a mosaic effect to the given image.
- img_squares = PfpEffects.split_image(avatar, squares)
+ The "squares" argument specifies the number of squares to split
+ the image into. This should be a square number.
+ """
+ img_squares = PfpEffects.split_image(image, squares)
new_img = PfpEffects.join_images(img_squares)
- bufferedio = BytesIO()
- new_img.save(bufferedio, format="PNG")
- bufferedio.seek(0)
-
- return discord.File(bufferedio, filename=file_name)
+ return new_img
diff --git a/bot/exts/evergreen/avatar_modification/avatar_modify.py b/bot/exts/evergreen/avatar_modification/avatar_modify.py
index 765c316e..7b4ae9c7 100644
--- a/bot/exts/evergreen/avatar_modification/avatar_modify.py
+++ b/bot/exts/evergreen/avatar_modification/avatar_modify.py
@@ -338,10 +338,11 @@ class AvatarModify(commands.Cog):
img_bytes = await user.avatar_url_as(size=1024).read()
file = await in_executor(
- PfpEffects.mosaic_effect,
+ PfpEffects.apply_effect,
img_bytes,
+ PfpEffects.mosaic_effect,
+ file_name,
squares,
- file_name
)
if squares == 1: