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.beta_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
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.1.2.tar.gz
(938.0 kB
view hashes)
Built Distribution
Close
Hashes for streamlit_cropper-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 849a136a048fdc67756a3cd3c11bfd6d79ea70c376d8797d543f82dd5cd11a47 |
|
MD5 | 12811498929ecdbfb70912ebeece9f24 |
|
BLAKE2b-256 | 3407c07e73dbc5dae1efd4ab08542ecda63e7e56875b62a141b95bf916f25349 |