digidau commited on
Commit
c6951d0
·
verified ·
1 Parent(s): 51d0201

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -2
app.py CHANGED
@@ -3,6 +3,7 @@ import json
3
  import shutil
4
  import gradio as gr
5
  import subprocess
 
6
 
7
  from fonts import setup_fonts
8
  from converter import convert_qurancaption_to_qvm
@@ -86,14 +87,42 @@ def get_available_fonts():
86
  # --------------------------------------------------
87
 
88
  def preview_layout(
89
- image,
90
  arabic_font,
91
  arabic_y,
92
  translation_gap,
93
  arabic_font_size,
94
  translation_font_size
95
  ):
96
- return "temp/preview.jpg"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
 
98
  def process(
99
  images,
@@ -358,6 +387,19 @@ Generate cinematic Quran video automatically.
358
  label="Result"
359
  )
360
 
 
 
 
 
 
 
 
 
 
 
 
 
 
361
  generate_btn.click(
362
  fn=process,
363
  inputs=[
 
3
  import shutil
4
  import gradio as gr
5
  import subprocess
6
+ import cv2
7
 
8
  from fonts import setup_fonts
9
  from converter import convert_qurancaption_to_qvm
 
87
  # --------------------------------------------------
88
 
89
  def preview_layout(
90
+ images,
91
  arabic_font,
92
  arabic_y,
93
  translation_gap,
94
  arabic_font_size,
95
  translation_font_size
96
  ):
97
+
98
+ if not images:
99
+ raise Exception("Upload minimal 1 image")
100
+
101
+ preview_path = "temp/preview.jpg"
102
+
103
+ img = cv2.imread(images[0].name)
104
+
105
+ h, w = img.shape[:2]
106
+
107
+ scale = min(
108
+ 1920 / w,
109
+ 1080 / h
110
+ )
111
+
112
+ img = cv2.resize(
113
+ img,
114
+ (
115
+ int(w * scale),
116
+ int(h * scale)
117
+ )
118
+ )
119
+
120
+ cv2.imwrite(
121
+ preview_path,
122
+ img
123
+ )
124
+
125
+ return preview_path
126
 
127
  def process(
128
  images,
 
387
  label="Result"
388
  )
389
 
390
+ preview_btn.click(
391
+ fn=preview_layout,
392
+ inputs=[
393
+ images,
394
+ arabic_font,
395
+ arabic_y,
396
+ translation_gap,
397
+ arabic_font_size,
398
+ translation_font_size
399
+ ],
400
+ outputs=preview_image
401
+ )
402
+
403
  generate_btn.click(
404
  fn=process,
405
  inputs=[