import streamlit as st from PIL import Image, ImageEnhance # Set up the Streamlit app st.title("Simple Image Editor") st.write("Upload an image, apply filters, and download your edited image.") # Image upload uploaded_file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"]) if uploaded_file is not None: # Open the uploaded image image = Image.open(uploaded_file) st.image(image, caption="Original Image", use_column_width=True) # Filters and adjustments st.write("### Apply Filters") # Grayscale if st.checkbox("Convert to Grayscale"): image = image.convert("L") st.image(image, caption="Grayscale Image", use_column_width=True) # Brightness adjustment brightness = st.slider("Adjust Brightness", 0.5, 2.0, 1.0) enhancer = ImageEnhance.Brightness(image) image = enhancer.enhance(brightness) st.image(image, caption="Brightness Adjusted Image", use_column_width=True) # Download edited image st.write("### Download Edited Image") edited_image = image edited_image_format = "JPEG" if uploaded_file.name.endswith(".jpg") or uploaded_file.name.endswith(".jpeg") else "PNG" edited_image_bytes = edited_image.tobytes() st.download_button( label="Download Image", data=edited_image_bytes, file_name=f"edited_image.{edited_image_format.lower()}", mime=f"image/{edited_image_format.lower()}", )