Marcepelaez commited on
Commit
4136906
verified
1 Parent(s): ff81515

Create app

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import io
2
+ from PIL import Image, ImageOps
3
+ import streamlit as st
4
+
5
+ def remove_metadata(image: Image):
6
+ # Convertir a modo RGB y eliminar la metadata
7
+ data = io.BytesIO()
8
+ image.save(data, format="JPEG", quality=95, optimize=True)
9
+ data.seek(0)
10
+ return Image.open(data)
11
+
12
+ def resize_image(image: Image, percentage: float):
13
+ # Redimensionar la imagen manteniendo la proporci贸n
14
+ width, height = image.size
15
+ new_size = (int(width * percentage), int(height * percentage))
16
+ resized_image = image.resize(new_size, Image.ANTIALIAS)
17
+ return resized_image
18
+
19
+ def main():
20
+ st.title("Image Resize and Metadata Remover")
21
+
22
+ uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
23
+
24
+ if uploaded_file is not None:
25
+ image = Image.open(uploaded_file)
26
+
27
+ st.image(image, caption="Original Image", use_column_width=True)
28
+
29
+ percentage = st.slider("Select resize percentage", 10, 100, 50)
30
+
31
+ resized_image = resize_image(image, percentage / 100)
32
+ resized_image_no_metadata = remove_metadata(resized_image)
33
+
34
+ st.image(resized_image_no_metadata, caption="Resized Image without Metadata", use_column_width=True)
35
+
36
+ # Para permitir descargar la imagen
37
+ buf = io.BytesIO()
38
+ resized_image_no_metadata.save(buf, format="JPEG", quality=85)
39
+ byte_im = buf.getvalue()
40
+
41
+ st.download_button(label="Download Image", data=byte_im, file_name="resized_image.jpg", mime="image/jpeg")
42
+
43
+ if _name_ == "_main_":
44
+ main()