Weaita commited on
Commit
640cf7c
1 Parent(s): 8089831

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +109 -0
app.py ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import numpy as np
3
+ import zipfile
4
+ from PIL import Image
5
+ import tempfile
6
+
7
+ image_size = 512
8
+ rows = 3
9
+ cols = 3
10
+
11
+ def create_collage(images):
12
+ #Determinar el n煤mero de collages
13
+ num_collages = len(images) // (rows*cols)
14
+
15
+ with zipfile.ZipFile("collages.zip", 'w') as zip:
16
+ for i in range(num_collages):
17
+ #Crear una nueva imagen en blanco
18
+ result = Image.new('RGB', (cols*image_size, rows*image_size), (255, 255, 255))
19
+ for j in range(rows*cols):
20
+ #Abrir imagen
21
+ img = Image.open(images[i*(rows*cols)+j])
22
+ #Reimage_sizeensionar imagen
23
+ img = img.resize((image_size, image_size))
24
+ #Determinar la posici贸n de la imagen en el collage
25
+ pos_x = (j % cols) * image_size
26
+ pos_y = (j // cols) * image_size
27
+ #Pegar la imagen en el collage
28
+ result.paste(img, (pos_x, pos_y))
29
+ #Guardar el collage
30
+ with tempfile.NamedTemporaryFile(suffix='.png') as temp:
31
+ result.save(temp.name)
32
+ zip.write(temp.name)
33
+ temp.flush()
34
+ temp.close()
35
+
36
+ last_image = Image.new('RGB', (cols*image_size, rows*image_size), (255, 255, 255))
37
+ for j in range(len(images) % (rows*cols)):
38
+ #Abrir imagen
39
+ img = Image.open(images[num_collages*(rows*cols)+j])
40
+ #Reimage_sizeensionar imagen
41
+ img = img.resize((image_size, image_size))
42
+ #Determinar la posici贸n de la imagen en el collage
43
+ pos_x = (j % cols) * image_size
44
+ pos_y = (j // cols) * image_size
45
+ #Pegar la imagen en el collage
46
+ last_image.paste(img, (pos_x, pos_y))
47
+ #Guardar el collage
48
+ with tempfile.NamedTemporaryFile(suffix='.png') as temp:
49
+ result.save(temp.name)
50
+ zip.write(temp.name)
51
+ temp.flush()
52
+ temp.close()
53
+
54
+ return "collages.zip"
55
+
56
+
57
+ gr.Interface(fn=create_collage,
58
+ inputs="file",
59
+ outputs="files",
60
+ title="Convert images to collage",
61
+ examples = ["example.jpg"]
62
+ ).launch();
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+