ghostsInTheMachine commited on
Commit
bca5302
·
verified ·
1 Parent(s): ab98f09

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +132 -15
app.py CHANGED
@@ -111,6 +111,30 @@ def remove_background(image):
111
 
112
  return mask_path, reverse_mask_path, foreground_path, background_path
113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  css = """
115
  body {
116
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
@@ -118,35 +142,126 @@ body {
118
  .gradio-container {
119
  background: white;
120
  }
121
- .gradio-button {
122
- font-family: inherit;
123
- font-size: 16px;
124
- font-weight: bold;
125
- color: #000000;
 
 
 
126
  background: linear-gradient(
127
  135deg,
128
  #e0f7fa, #e8f5e9, #fff9c4, #ffebee,
129
  #f3e5f5, #e1f5fe, #fff3e0, #e8eaf6
130
- );
131
- background-size: 400% 400%;
132
- animation: gradient-animation 15s ease infinite;
133
- border: 2px solid black;
134
- border-radius: 10px;
135
  }
136
- .gradio-button:hover {
137
  background: linear-gradient(
138
  135deg,
139
  #b2ebf2, #c8e6c9, #fff176, #ffcdd2,
140
  #e1bee7, #b3e5fc, #ffe0b2, #c5cae9
141
- );
142
- background-size: 400% 400%;
143
- animation: gradient-animation 15s ease infinite;
144
  }
145
  @keyframes gradient-animation {
146
  0% { background-position: 0% 50%; }
147
  50% { background-position: 100% 50%; }
148
  100% { background-position: 0% 50%; }
149
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  """
151
 
152
  iface = gr.Interface(
@@ -159,7 +274,9 @@ iface = gr.Interface(
159
  gr.Image(type="filepath", label="Background")
160
  ],
161
  allow_flagging="never",
162
- css=css
 
 
163
  )
164
 
165
  if __name__ == "__main__":
 
111
 
112
  return mask_path, reverse_mask_path, foreground_path, background_path
113
 
114
+ license_text = """
115
+ MIT License
116
+
117
+ Copyright (c) 2024 ZhengPeng
118
+
119
+ Permission is hereby granted, free of charge, to any person obtaining a copy
120
+ of this software and associated documentation files (the "Software"), to deal
121
+ in the Software without restriction, including without limitation the rights
122
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
123
+ copies of the Software, and to permit persons to whom the Software is
124
+ furnished to do so, subject to the following conditions:
125
+
126
+ The above copyright notice and this permission notice shall be included in all
127
+ copies or substantial portions of the Software.
128
+
129
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
130
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
131
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
132
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
133
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
134
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
135
+ SOFTWARE.
136
+ """
137
+
138
  css = """
139
  body {
140
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
 
142
  .gradio-container {
143
  background: white;
144
  }
145
+ #component-0 {
146
+ max-width: 100% !important;
147
+ }
148
+ .remove-background {
149
+ font-family: inherit !important;
150
+ font-size: 16px !important;
151
+ font-weight: bold !important;
152
+ color: #000000 !important;
153
  background: linear-gradient(
154
  135deg,
155
  #e0f7fa, #e8f5e9, #fff9c4, #ffebee,
156
  #f3e5f5, #e1f5fe, #fff3e0, #e8eaf6
157
+ ) !important;
158
+ background-size: 400% 400% !important;
159
+ animation: gradient-animation 15s ease infinite !important;
160
+ border: 2px solid black !important;
161
+ border-radius: 10px !important;
162
  }
163
+ .remove-background:hover {
164
  background: linear-gradient(
165
  135deg,
166
  #b2ebf2, #c8e6c9, #fff176, #ffcdd2,
167
  #e1bee7, #b3e5fc, #ffe0b2, #c5cae9
168
+ ) !important;
169
+ background-size: 400% 400% !important;
170
+ animation: gradient-animation 15s ease infinite !important;
171
  }
172
  @keyframes gradient-animation {
173
  0% { background-position: 0% 50%; }
174
  50% { background-position: 100% 50%; }
175
  100% { background-position: 0% 50%; }
176
  }
177
+ footer {
178
+ text-align: center;
179
+ margin-top: 20px;
180
+ }
181
+ .license-link {
182
+ color: #007bff;
183
+ text-decoration: none;
184
+ cursor: pointer;
185
+ }
186
+ .license-link:hover {
187
+ text-decoration: underline;
188
+ }
189
+ .modal {
190
+ display: none;
191
+ position: fixed;
192
+ z-index: 1000;
193
+ left: 0;
194
+ top: 0;
195
+ width: 100%;
196
+ height: 100%;
197
+ overflow: auto;
198
+ background-color: rgba(0,0,0,0.4);
199
+ }
200
+ .modal-content {
201
+ background-color: #fefefe;
202
+ margin: 15% auto;
203
+ padding: 20px;
204
+ border: 1px solid #888;
205
+ width: 80%;
206
+ max-width: 600px;
207
+ }
208
+ .close {
209
+ color: #aaa;
210
+ float: right;
211
+ font-size: 28px;
212
+ font-weight: bold;
213
+ }
214
+ .close:hover,
215
+ .close:focus {
216
+ color: black;
217
+ text-decoration: none;
218
+ cursor: pointer;
219
+ }
220
+ """
221
+
222
+ js = """
223
+ function setupLicenseModal() {
224
+ var modal = document.createElement('div');
225
+ modal.className = 'modal';
226
+ modal.innerHTML = `
227
+ <div class="modal-content">
228
+ <span class="close">&times;</span>
229
+ <h2>License</h2>
230
+ <pre>${license_text}</pre>
231
+ </div>
232
+ `;
233
+ document.body.appendChild(modal);
234
+
235
+ var link = document.createElement('a');
236
+ link.href = '#';
237
+ link.className = 'license-link';
238
+ link.textContent = 'License';
239
+ link.onclick = function(e) {
240
+ e.preventDefault();
241
+ modal.style.display = 'block';
242
+ };
243
+
244
+ var footer = document.createElement('footer');
245
+ footer.appendChild(link);
246
+ document.body.appendChild(footer);
247
+
248
+ var span = modal.querySelector('.close');
249
+ span.onclick = function() {
250
+ modal.style.display = 'none';
251
+ };
252
+
253
+ window.onclick = function(event) {
254
+ if (event.target == modal) {
255
+ modal.style.display = 'none';
256
+ }
257
+ };
258
+ }
259
+
260
+ if (window.gradio_config.version.startsWith('3')) {
261
+ setupLicenseModal();
262
+ } else {
263
+ document.addEventListener('DOMContentLoaded', setupLicenseModal);
264
+ }
265
  """
266
 
267
  iface = gr.Interface(
 
274
  gr.Image(type="filepath", label="Background")
275
  ],
276
  allow_flagging="never",
277
+ css=css,
278
+ js=js,
279
+ elem_classes={"submit": "remove-background"}
280
  )
281
 
282
  if __name__ == "__main__":