Spaces:
Runtime error
Runtime error
# Copied from https://github.com/turner-anderson/streamlit-cropper | |
import streamlit as st | |
from streamlit_cropper import st_cropper | |
from PIL import Image | |
st.set_option('deprecation.showfileUploaderEncoding', False) | |
# Upload an image and set some options for demo purposes | |
st.header("Cropper Demo") | |
img_file = st.sidebar.file_uploader(label='Upload a file', type=['png', 'jpg']) | |
realtime_update = st.sidebar.checkbox(label="Update in Real Time", value=True) | |
box_color = st.sidebar.color_picker(label="Box Color", value='#0000FF') | |
aspect_choice = st.sidebar.radio(label="Aspect Ratio", options=["1:1", "16:9", "4:3", "2:3", "Free"]) | |
aspect_dict = { | |
"1:1": (1, 1), | |
"16:9": (16, 9), | |
"4:3": (4, 3), | |
"2:3": (2, 3), | |
"Free": None | |
} | |
aspect_ratio = aspect_dict[aspect_choice] | |
if img_file: | |
img = Image.open(img_file) | |
if not realtime_update: | |
st.write("Double click to save crop") | |
# Get a cropped image from the frontend | |
cropped_img = st_cropper(img, realtime_update=realtime_update, box_color=box_color, | |
aspect_ratio=aspect_ratio) | |
# Manipulate cropped image at will | |
st.write("Preview") | |
_ = cropped_img.thumbnail((150,150)) | |
st.image(cropped_img) | |