hvoss-techfak commited on
Commit
210cb7f
·
1 Parent(s): d25fccd

fixes to jpg

Browse files
Files changed (1) hide show
  1. app.py +7 -26
app.py CHANGED
@@ -492,10 +492,9 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
492
  with gr.Row():
493
  with gr.Column(scale=1):
494
  gr.Markdown("### Input Image (Required)")
495
- input_image_component = gr.Image(
496
- type="filepath",
497
- image_mode="RGBA",
498
- format="png",
499
  label="Upload Image",
500
  sources=["upload"],
501
  interactive=True,
@@ -578,12 +577,10 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
578
 
579
  # --- Backend Function for Running the Script ---
580
  def execute_autoforge_script(
581
- current_filaments_df_state_val, input_image_path, *accordion_param_values
582
  ):
583
  # 0. Validate Inputs
584
- if (
585
- not input_image_path
586
- ): # Covers None and empty string from gr.Image(type="filepath")
587
  gr.Error("Input Image is required! Please upload an image.")
588
  capture_exception(Exception("Input Image is required!"))
589
  return create_empty_error_outputs("Error: Input Image is required!")
@@ -632,28 +629,12 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
632
  command.extend(["--output_folder", run_output_dir_val])
633
  command.extend(["--disable_visualization_for_gradio","1"])
634
 
635
- base_filename = os.path.basename(input_image_path)
636
- script_input_image_path = os.path.join(run_output_dir_val, base_filename)
637
  try:
638
- img = Image.open(input_image_path)
639
  # decide where to store the image we pass to Autoforge
640
- base_no_ext, _ = os.path.splitext(os.path.basename(input_image_path))
641
  script_input_image_path = os.path.join(
642
- run_output_dir_val, f"{base_no_ext}.png"
643
  )
644
-
645
- if img.mode in ("RGBA", "LA") or (
646
- img.mode == "P" and "transparency" in img.info
647
- ):
648
- # the uploaded file has an alpha channel – save it as PNG
649
- img.save(script_input_image_path, format="PNG")
650
- else:
651
- # no alpha present – just copy the file in whatever format it was
652
- script_input_image_path = os.path.join(
653
- run_output_dir_val, os.path.basename(input_image_path)
654
- )
655
- shutil.copy(input_image_path, script_input_image_path)
656
-
657
  command.extend(["--input_image", script_input_image_path])
658
  except Exception as e:
659
  capture_exception(e)
 
492
  with gr.Row():
493
  with gr.Column(scale=1):
494
  gr.Markdown("### Input Image (Required)")
495
+ input_image_component = gr.Image( # keep transparency alive
496
+ type="pil", # <- no temporary JPEG cache
497
+ image_mode="RGBA", # tells Gradio to expect alpha
 
498
  label="Upload Image",
499
  sources=["upload"],
500
  interactive=True,
 
577
 
578
  # --- Backend Function for Running the Script ---
579
  def execute_autoforge_script(
580
+ current_filaments_df_state_val, input_image, *accordion_param_values
581
  ):
582
  # 0. Validate Inputs
583
+ if input_image is None:
 
 
584
  gr.Error("Input Image is required! Please upload an image.")
585
  capture_exception(Exception("Input Image is required!"))
586
  return create_empty_error_outputs("Error: Input Image is required!")
 
629
  command.extend(["--output_folder", run_output_dir_val])
630
  command.extend(["--disable_visualization_for_gradio","1"])
631
 
 
 
632
  try:
 
633
  # decide where to store the image we pass to Autoforge
 
634
  script_input_image_path = os.path.join(
635
+ run_output_dir_val, "input_image.png"
636
  )
637
+ input_image.save(script_input_image_path, format="PNG")
 
 
 
 
 
 
 
 
 
 
 
 
638
  command.extend(["--input_image", script_input_image_path])
639
  except Exception as e:
640
  capture_exception(e)