namelessai commited on
Commit
1383a5c
·
verified ·
1 Parent(s): 003e071

fix type error

Browse files
Files changed (1) hide show
  1. app.py +8 -3
app.py CHANGED
@@ -25,10 +25,14 @@ format_options = {
25
  }
26
 
27
 
28
- def convert_image(img_bytes, output_format,
29
  quality, compress_level,
30
  jpeg2000_layers, avif_speed,
31
  subsampling, professional_lossless):
 
 
 
 
32
  # Load image and convert to RGB
33
  image = Image.open(io.BytesIO(img_bytes)).convert("RGB")
34
 
@@ -54,7 +58,6 @@ def convert_image(img_bytes, output_format,
54
  save_kwargs["compress_level"] = compress_level
55
  save_kwargs["optimize"] = True
56
  if fmt == "JPEG2000":
57
- # quality_layers expects list of ints
58
  save_kwargs["quality_layers"] = [int(l) for l in jpeg2000_layers.split(",")]
59
  if fmt == "AVIF":
60
  save_kwargs["quality"] = quality
@@ -68,6 +71,7 @@ def convert_image(img_bytes, output_format,
68
  buf.seek(0)
69
  return buf.getvalue()
70
 
 
71
  # Build Gradio app
72
  def build_app():
73
  with gr.Blocks() as demo:
@@ -87,7 +91,7 @@ def build_app():
87
  avif_speed = gr.Slider(0, 8, value=4, step=1, label="AVIF Speed")
88
  subsample = gr.Dropdown(choices=["4:4:4", "4:2:2", "4:2:0"], value="4:2:0", label="HEIF Subsampling")
89
  professional = gr.Checkbox(label="Professional Lossless Mode",
90
- info="Force highest-quality lossless conversion as optimized PNG")
91
  convert_btn = gr.Button("Convert")
92
 
93
  convert_btn.click(
@@ -99,6 +103,7 @@ def build_app():
99
  )
100
  return demo
101
 
 
102
  if __name__ == "__main__":
103
  app = build_app()
104
  app.launch()
 
25
  }
26
 
27
 
28
+ def convert_image(img_file, output_format,
29
  quality, compress_level,
30
  jpeg2000_layers, avif_speed,
31
  subsampling, professional_lossless):
32
+ # Read the uploaded file as bytes
33
+ with open(img_file, "rb") as f:
34
+ img_bytes = f.read()
35
+
36
  # Load image and convert to RGB
37
  image = Image.open(io.BytesIO(img_bytes)).convert("RGB")
38
 
 
58
  save_kwargs["compress_level"] = compress_level
59
  save_kwargs["optimize"] = True
60
  if fmt == "JPEG2000":
 
61
  save_kwargs["quality_layers"] = [int(l) for l in jpeg2000_layers.split(",")]
62
  if fmt == "AVIF":
63
  save_kwargs["quality"] = quality
 
71
  buf.seek(0)
72
  return buf.getvalue()
73
 
74
+
75
  # Build Gradio app
76
  def build_app():
77
  with gr.Blocks() as demo:
 
91
  avif_speed = gr.Slider(0, 8, value=4, step=1, label="AVIF Speed")
92
  subsample = gr.Dropdown(choices=["4:4:4", "4:2:2", "4:2:0"], value="4:2:0", label="HEIF Subsampling")
93
  professional = gr.Checkbox(label="Professional Lossless Mode",
94
+ info="Force highest-quality lossless conversion as optimized PNG")
95
  convert_btn = gr.Button("Convert")
96
 
97
  convert_btn.click(
 
103
  )
104
  return demo
105
 
106
+
107
  if __name__ == "__main__":
108
  app = build_app()
109
  app.launch()