Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -34,6 +34,12 @@ if uploaded_file:
|
|
34 |
rotation = st.sidebar.slider("Rotate (°)", 0, 360, 0)
|
35 |
img_rotated = img_cropped.rotate(rotation, expand=True)
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
# Filters
|
38 |
st.sidebar.header("Filters")
|
39 |
filters = st.sidebar.selectbox("Choose a filter", ["None", "Grayscale", "Sepia", "Negative", "Blur", "Contour", "Detail", "Emboss"])
|
@@ -67,27 +73,22 @@ if uploaded_file:
|
|
67 |
img_final = ImageEnhance.Sharpness(img_final).enhance(sharpness)
|
68 |
img_final = ImageEnhance.Color(img_final).enhance(saturation)
|
69 |
|
70 |
-
# Annotations
|
71 |
-
st.sidebar.header("Annotations")
|
72 |
-
text = st.sidebar.text_input("Add Text")
|
73 |
-
if text:
|
74 |
-
font = ImageFont.load_default()
|
75 |
-
draw = ImageDraw.Draw(img_final)
|
76 |
-
draw.text((10, 10), text, fill="white", font=font)
|
77 |
-
|
78 |
# Resize Tool
|
79 |
st.sidebar.header("Resize")
|
80 |
new_width = st.sidebar.slider("Width", 50, img_final.width, img_final.width)
|
81 |
new_height = st.sidebar.slider("Height", 50, img_final.height, img_final.height)
|
82 |
img_resized = img_final.resize((new_width, new_height))
|
83 |
|
|
|
|
|
|
|
84 |
# Display Final Image
|
85 |
st.image(img_resized, caption="Edited Image", use_column_width=True)
|
86 |
|
87 |
# Download Button
|
88 |
st.sidebar.header("Download")
|
89 |
buffer = io.BytesIO()
|
90 |
-
|
91 |
st.sidebar.download_button("Download Edited Image", buffer.getvalue(), file_name="edited_image.jpg", mime="image/jpeg")
|
92 |
else:
|
93 |
st.info("Please upload an image to start editing.")
|
|
|
34 |
rotation = st.sidebar.slider("Rotate (°)", 0, 360, 0)
|
35 |
img_rotated = img_cropped.rotate(rotation, expand=True)
|
36 |
|
37 |
+
# Background Color Change
|
38 |
+
st.sidebar.header("Background Color")
|
39 |
+
bg_color = st.sidebar.color_picker("Pick a Background Color", "#FFFFFF")
|
40 |
+
bg_layer = Image.new("RGBA", img_rotated.size, bg_color)
|
41 |
+
img_rotated = Image.alpha_composite(bg_layer, img_rotated)
|
42 |
+
|
43 |
# Filters
|
44 |
st.sidebar.header("Filters")
|
45 |
filters = st.sidebar.selectbox("Choose a filter", ["None", "Grayscale", "Sepia", "Negative", "Blur", "Contour", "Detail", "Emboss"])
|
|
|
73 |
img_final = ImageEnhance.Sharpness(img_final).enhance(sharpness)
|
74 |
img_final = ImageEnhance.Color(img_final).enhance(saturation)
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
# Resize Tool
|
77 |
st.sidebar.header("Resize")
|
78 |
new_width = st.sidebar.slider("Width", 50, img_final.width, img_final.width)
|
79 |
new_height = st.sidebar.slider("Height", 50, img_final.height, img_final.height)
|
80 |
img_resized = img_final.resize((new_width, new_height))
|
81 |
|
82 |
+
# Convert RGBA to RGB for JPEG format
|
83 |
+
img_resized_rgb = img_resized.convert("RGB")
|
84 |
+
|
85 |
# Display Final Image
|
86 |
st.image(img_resized, caption="Edited Image", use_column_width=True)
|
87 |
|
88 |
# Download Button
|
89 |
st.sidebar.header("Download")
|
90 |
buffer = io.BytesIO()
|
91 |
+
img_resized_rgb.save(buffer, format="JPEG")
|
92 |
st.sidebar.download_button("Download Edited Image", buffer.getvalue(), file_name="edited_image.jpg", mime="image/jpeg")
|
93 |
else:
|
94 |
st.info("Please upload an image to start editing.")
|