dramp77 commited on
Commit
e0bf609
·
verified ·
1 Parent(s): c9b0bfb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -6
app.py CHANGED
@@ -149,8 +149,16 @@ def process_single_image(image, width, height, maintain_aspect, png_bg_option, c
149
  except:
150
  custom_color = (255, 255, 255) # Default to white if invalid
151
 
152
- # Check if image is PNG
153
- is_png = hasattr(pil_image, 'format') and pil_image.format == 'PNG'
 
 
 
 
 
 
 
 
154
 
155
  # Resize image
156
  resized_image = resizer.resize_image(
@@ -192,8 +200,16 @@ def process_folder_images(files, width, height, maintain_aspect, png_bg_option,
192
  # Open image
193
  image = Image.open(file.name)
194
 
195
- # Check if image is PNG
196
- is_png = file.name.lower().endswith('.png')
 
 
 
 
 
 
 
 
197
 
198
  # Resize image
199
  resized_image = resizer.resize_image(
@@ -252,8 +268,16 @@ def process_zip_file(zip_file, width, height, maintain_aspect, png_bg_option, cu
252
  file_path = os.path.join(root, file)
253
  image = Image.open(file_path)
254
 
255
- # Check if image is PNG
256
- is_png = file.lower().endswith('.png')
 
 
 
 
 
 
 
 
257
 
258
  # Resize image
259
  resized_image = resizer.resize_image(
 
149
  except:
150
  custom_color = (255, 255, 255) # Default to white if invalid
151
 
152
+ # Check if image is PNG - improved detection
153
+ # In Gradio, uploaded images often lose format info, so we assume PNG if it has transparency
154
+ is_png = (hasattr(pil_image, 'format') and pil_image.format == 'PNG') or \
155
+ (pil_image.mode in ('RGBA', 'LA')) or \
156
+ (hasattr(pil_image, 'info') and 'transparency' in pil_image.info)
157
+
158
+ # For PNG background selection, we should always apply the background choice
159
+ # regardless of original format when PNG options are selected
160
+ if png_bg_option != "auto":
161
+ is_png = True # Force PNG treatment for non-auto options
162
 
163
  # Resize image
164
  resized_image = resizer.resize_image(
 
200
  # Open image
201
  image = Image.open(file.name)
202
 
203
+ # Check if image is PNG - improved detection
204
+ is_png = file.name.lower().endswith('.png') or \
205
+ (hasattr(image, 'format') and image.format == 'PNG') or \
206
+ (image.mode in ('RGBA', 'LA')) or \
207
+ (hasattr(image, 'info') and 'transparency' in image.info)
208
+
209
+ # For PNG background selection, we should always apply the background choice
210
+ # regardless of original format when PNG options are selected
211
+ if png_bg_option != "auto":
212
+ is_png = True # Force PNG treatment for non-auto options
213
 
214
  # Resize image
215
  resized_image = resizer.resize_image(
 
268
  file_path = os.path.join(root, file)
269
  image = Image.open(file_path)
270
 
271
+ # Check if image is PNG - improved detection
272
+ is_png = file.lower().endswith('.png') or \
273
+ (hasattr(image, 'format') and image.format == 'PNG') or \
274
+ (image.mode in ('RGBA', 'LA')) or \
275
+ (hasattr(image, 'info') and 'transparency' in image.info)
276
+
277
+ # For PNG background selection, we should always apply the background choice
278
+ # regardless of original format when PNG options are selected
279
+ if png_bg_option != "auto":
280
+ is_png = True # Force PNG treatment for non-auto options
281
 
282
  # Resize image
283
  resized_image = resizer.resize_image(