A simple image cropper for Streamlit
Project description
Streamlit - Cropper
A streamlit custom component for easy image cropping
Installation
pip install streamlit-cropper
Example Usage
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)
References
Acknowledgments
Big thanks to zoncrd and yanirs for their contributions
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
streamlit-cropper-0.2.2.tar.gz
(972.3 kB
view hashes)
Built Distribution
Close
Hashes for streamlit_cropper-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2affc00abcde7d9061204717f93d5834a18e5ddc54184a60168f58b0e7e97ad0 |
|
MD5 | 1bc8181c02fbd2b96eed74085dc7428e |
|
BLAKE2b-256 | 8b509794edb3b1b4a9d2a475c62cf444a0791be60ffeebbcfb76460370fa07a5 |