Skip to main content

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.3.1.tar.gz (803.5 kB view details)

Uploaded Source

Built Distribution

streamlit_cropper-0.3.1-py3-none-any.whl (810.6 kB view details)

Uploaded Python 3

File details

Details for the file streamlit_cropper-0.3.1.tar.gz.

File metadata

  • Download URL: streamlit_cropper-0.3.1.tar.gz
  • Upload date:
  • Size: 803.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for streamlit_cropper-0.3.1.tar.gz
Algorithm Hash digest
SHA256 7d22befae2dd861ea9ac8ca65e1fa6c27af25e9350b365ee2d3d043d81ff76fe
MD5 f2807437729f3de59516237ec4bc853e
BLAKE2b-256 0f74d1729570d91b09b83fb05ed94ee7ff88e3e756ad27836639b69a12817875

See more details on using hashes here.

File details

Details for the file streamlit_cropper-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_cropper-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 26630e5366c9f0f8ed391d8bd7ab8386acf42cd9f30dd6e708b9b32beeef57e1
MD5 c219530c98ab8041bbe4849e5d248e01
BLAKE2b-256 44db955b8d957acde8b61f7669f2f1ae4cab4e9bad44211a186a7c6558d45656

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page