CSB261 commited on
Commit
229d6fe
ยท
verified ยท
1 Parent(s): b115c46

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -4
app.py CHANGED
@@ -36,16 +36,29 @@ def transform_image(image, contrast, brightness, blur):
36
 
37
  def generate_comparison_html(original_base64, transformed_base64):
38
  """
39
- ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€์™€ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ์Šฌ๋ผ์ด๋” HTML์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
40
  ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์Šฌ๋ผ์ด๋”๋ฅผ ์›€์ง์—ฌ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
41
  """
42
  html = f"""
43
  <div style="position: relative; width: 100%; max-width: 600px; margin: auto;">
44
  <img src="data:image/jpeg;base64,{transformed_base64}" style="width: 100%;">
45
- <div id="overlay" style="position: absolute; top:0; left:0; width:50%; overflow: hidden;">
46
  <img src="data:image/jpeg;base64,{original_base64}" style="width: 100%;">
47
  </div>
48
- <input type="range" min="0" max="100" value="50" oninput="document.getElementById('overlay').style.width = this.value + '%';" style="position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); width: 80%;">
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  <div style="text-align: center; margin-top: 10px;">
50
  <span>๋ณ€ํ™˜ ํ›„</span> <span style="float: right;">๋ณ€ํ™˜ ์ „</span>
51
  </div>
@@ -79,7 +92,7 @@ def process_image(image, contrast, brightness, blur):
79
 
80
  with gr.Blocks() as demo:
81
  gr.Markdown("## ๐Ÿ“ธ ๋ถ„์œ„๊ธฐ ์žˆ๋Š” ํ‘๋ฐฑ ์‚ฌ์ง„ ๋ณ€ํ™˜๊ธฐ")
82
- gr.Markdown("์›๋ณธ ์ด๋ฏธ์ง€์™€ ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€๋ฅผ ์Šฌ๋ผ์ด๋”๋กœ ๋น„๊ตํ•˜๊ณ , ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.")
83
 
84
  with gr.Row():
85
  with gr.Column():
 
36
 
37
  def generate_comparison_html(original_base64, transformed_base64):
38
  """
39
+ ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€์™€ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ง ์Šฌ๋ผ์ด๋” HTML์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
40
  ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์Šฌ๋ผ์ด๋”๋ฅผ ์›€์ง์—ฌ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
41
  """
42
  html = f"""
43
  <div style="position: relative; width: 100%; max-width: 600px; margin: auto;">
44
  <img src="data:image/jpeg;base64,{transformed_base64}" style="width: 100%;">
45
+ <div id="overlay" style="position: absolute; top:0; left:0; height:50%; overflow: hidden; width:100%;">
46
  <img src="data:image/jpeg;base64,{original_base64}" style="width: 100%;">
47
  </div>
48
+ <input type="range" min="0" max="100" value="50"
49
+ oninput="document.getElementById('overlay').style.height = this.value + '%';"
50
+ style="
51
+ position: absolute;
52
+ top: 10px;
53
+ right: 10px;
54
+ transform: rotate(270deg);
55
+ transform-origin: center;
56
+ width: 300px;
57
+ height: 80px;
58
+ -webkit-appearance: slider-vertical;
59
+ writing-mode: bt-lr; /* IE */
60
+ background: transparent;
61
+ ">
62
  <div style="text-align: center; margin-top: 10px;">
63
  <span>๋ณ€ํ™˜ ํ›„</span> <span style="float: right;">๋ณ€ํ™˜ ์ „</span>
64
  </div>
 
92
 
93
  with gr.Blocks() as demo:
94
  gr.Markdown("## ๐Ÿ“ธ ๋ถ„์œ„๊ธฐ ์žˆ๋Š” ํ‘๋ฐฑ ์‚ฌ์ง„ ๋ณ€ํ™˜๊ธฐ")
95
+ gr.Markdown("์›๋ณธ ์ด๋ฏธ์ง€์™€ ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ง ์Šฌ๋ผ์ด๋”๋กœ ๋น„๊ตํ•˜๊ณ , ๋ณ€ํ™˜๋œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.")
96
 
97
  with gr.Row():
98
  with gr.Column():