mirror of
https://github.com/oobabooga/text-generation-webui.git
synced 2024-12-23 21:18:00 +01:00
Better crop/resize cached images
This commit is contained in:
parent
65d8a24a6d
commit
80dfba05f3
@ -74,11 +74,8 @@ def generate_html():
|
||||
|
||||
path = Path(i)
|
||||
if path.exists():
|
||||
try:
|
||||
image_html = f'<img src="file/{get_image_cache(path)}">'
|
||||
break
|
||||
except:
|
||||
continue
|
||||
image_html = f'<img src="file/{get_image_cache(path)}">'
|
||||
break
|
||||
|
||||
container_html += f'{image_html} <span class="character-name">{character}</span>'
|
||||
container_html += "</div>"
|
||||
|
@ -7,7 +7,7 @@ from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
from PIL import Image
|
||||
from PIL import Image, ImageOps
|
||||
|
||||
import modules.extensions as extensions_module
|
||||
import modules.shared as shared
|
||||
@ -334,7 +334,7 @@ def generate_pfp_cache(character):
|
||||
for path in [Path(f"characters/{character}.{extension}") for extension in ['png', 'jpg', 'jpeg']]:
|
||||
if path.exists():
|
||||
img = Image.open(path)
|
||||
img.thumbnail((200, 200))
|
||||
img = ImageOps.fit(img, (350, 470), Image.ANTIALIAS)
|
||||
img.save(Path('cache/pfp_character.png'), format='PNG')
|
||||
return img
|
||||
return None
|
||||
@ -432,6 +432,6 @@ def upload_your_profile_picture(img):
|
||||
if Path("cache/pfp_me.png").exists():
|
||||
Path("cache/pfp_me.png").unlink()
|
||||
else:
|
||||
img.thumbnail((200, 200))
|
||||
img = ImageOps.fit(img, (350, 470), Image.ANTIALIAS)
|
||||
img.save(Path('cache/pfp_me.png'))
|
||||
print('Profile picture saved to "cache/pfp_me.png"')
|
||||
|
@ -10,7 +10,7 @@ import time
|
||||
from pathlib import Path
|
||||
|
||||
import markdown
|
||||
from PIL import Image
|
||||
from PIL import Image, ImageOps
|
||||
|
||||
# This is to store the paths to the thumbnails of the profile pictures
|
||||
image_cache = {}
|
||||
@ -104,7 +104,7 @@ def get_image_cache(path):
|
||||
mtime = os.stat(path).st_mtime
|
||||
if (path in image_cache and mtime != image_cache[path][0]) or (path not in image_cache):
|
||||
img = Image.open(path)
|
||||
img.thumbnail((200, 200))
|
||||
img = ImageOps.fit(img, (350, 470), Image.ANTIALIAS)
|
||||
output_file = Path(f'cache/{path.name}_cache.png')
|
||||
img.convert('RGB').save(output_file, format='PNG')
|
||||
image_cache[path] = [mtime, output_file.as_posix()]
|
||||
|
@ -406,7 +406,7 @@ def create_interface():
|
||||
shared.gradio['character_menu'].change(chat.load_character, [shared.gradio[k] for k in ['character_menu', 'name1', 'name2']], [shared.gradio[k] for k in ['name1', 'name2', 'character_picture', 'greeting', 'context', 'display']])
|
||||
shared.gradio['upload_chat_history'].upload(chat.load_history, [shared.gradio['upload_chat_history'], shared.gradio['name1'], shared.gradio['name2']], [])
|
||||
shared.gradio['upload_img_tavern'].upload(chat.upload_tavern_character, [shared.gradio['upload_img_tavern'], shared.gradio['name1'], shared.gradio['name2']], [shared.gradio['character_menu']])
|
||||
shared.gradio['your_picture'].change(chat.upload_your_profile_picture, shared.gradio['your_picture'], [])
|
||||
shared.gradio['your_picture'].change(chat.upload_your_profile_picture, shared.gradio['your_picture'], None)
|
||||
|
||||
reload_func = chat.redraw_html if shared.args.cai_chat else lambda : shared.history['visible']
|
||||
reload_inputs = [shared.gradio['name1'], shared.gradio['name2']] if shared.args.cai_chat else []
|
||||
|
Loading…
Reference in New Issue
Block a user