From daf2b6ac3bf607f4f2e279545125c7559edb450e Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Sun, 11 Feb 2024 03:33:02 +0100 Subject: [PATCH] Fix convert image to jpg in Bing Fix display upload image in GUI --- g4f/gui/client/js/chat.v1.js | 3 +-- g4f/image.py | 28 +++++++++++++++------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/g4f/gui/client/js/chat.v1.js b/g4f/gui/client/js/chat.v1.js index 4b2f1c1a..a925572a 100644 --- a/g4f/gui/client/js/chat.v1.js +++ b/g4f/gui/client/js/chat.v1.js @@ -677,7 +677,7 @@ observer.observe(message_input, { attributes: true }); } document.getElementById("version_text").innerHTML = text })() -for (el of [imageInput, cameraInput]) { +for (const el of [imageInput, cameraInput]) { console.log(el.files); el.addEventListener('click', async () => { el.value = ''; @@ -690,7 +690,6 @@ for (el of [imageInput, cameraInput]) { const reader = new FileReader(); reader.addEventListener('load', (event) => { el.dataset.src = event.target.result; - console.log(el.dataset.src); }); reader.readAsDataURL(el.files[0]); } diff --git a/g4f/image.py b/g4f/image.py index 31c3d577..93922c2e 100644 --- a/g4f/image.py +++ b/g4f/image.py @@ -137,12 +137,12 @@ def get_orientation(image: Image) -> int: if orientation is not None: return orientation -def process_image(img: Image, new_width: int, new_height: int) -> Image: +def process_image(image: Image, new_width: int, new_height: int) -> Image: """ Processes the given image by adjusting its orientation and resizing it. Args: - img (Image): The image to process. + image (Image): The image to process. new_width (int): The new width of the image. new_height (int): The new height of the image. @@ -150,25 +150,27 @@ def process_image(img: Image, new_width: int, new_height: int) -> Image: Image: The processed image. """ # Fix orientation - orientation = get_orientation(img) + orientation = get_orientation(image) if orientation: if orientation > 4: - img = img.transpose(FLIP_LEFT_RIGHT) + image = image.transpose(FLIP_LEFT_RIGHT) if orientation in [3, 4]: - img = img.transpose(ROTATE_180) + image = image.transpose(ROTATE_180) if orientation in [5, 6]: - img = img.transpose(ROTATE_270) + image = image.transpose(ROTATE_270) if orientation in [7, 8]: - img = img.transpose(ROTATE_90) + image = image.transpose(ROTATE_90) # Resize image - img.thumbnail((new_width, new_height)) + image.thumbnail((new_width, new_height)) # Remove transparency - if img.mode == "RGBA": - img.load() - white = new_image('RGB', img.size, (255, 255, 255)) - white.paste(img, mask=img.split()[-1]) + if image.mode == "RGBA": + image.load() + white = new_image('RGB', image.size, (255, 255, 255)) + white.paste(image, mask=image.split()[-1]) return white - return img + elif image.mode != "RGB": + image = image.convert("RGB") + return image def to_base64_jpg(image: Image, compression_rate: float) -> str: """