Skip to main content

A simple image cropper for Streamlit, with fixes added

Project description

Streamlit - Cropper

A Forked version of the original streamlit-cropper, with added fixes

Fixes:

  1. should_resize_image=False now works
  2. Using manual box_function in box_algorithm will hence work as well
  3. Remove stroke width from overall crop dimension

Installation

pip install streamlit-cropper-fix

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 Turner Anderson, 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_fix-0.4.0.tar.gz (974.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamlit_cropper_fix-0.4.0-py3-none-any.whl (985.6 kB view details)

Uploaded Python 3

File details

Details for the file streamlit_cropper_fix-0.4.0.tar.gz.

File metadata

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

File hashes

Hashes for streamlit_cropper_fix-0.4.0.tar.gz
Algorithm Hash digest
SHA256 effbc4597766e93c65311d58f2271af74665ed488a4e978258b244567c18da9c
MD5 1d34ab11cc7da53683e9529d1f6d3309
BLAKE2b-256 0d69439d587a6a2a84499574ea734c8c6772df577dc5f30bdfa0207567f25a13

See more details on using hashes here.

File details

Details for the file streamlit_cropper_fix-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_cropper_fix-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85c251b5cfd850219d2a9465d487c8059cbde1a94b150eb6b6397bb6cba916b6
MD5 bb46b19229497022c950eb9adfdd10d1
BLAKE2b-256 e2d958a6a5e0d242a98a60106974fcb176054742568d9a31f29010c5d605c7c3

See more details on using hashes here.

Supported by

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