import gradio as dt from PIL import Image, ImageDraw, ImageFont def vytvor_karticku(nadpis, bod1, bod2, bod3, bod4, bod5): # Rozmery pre pomer strán kreditnej karty (85mm x 54mm) vo vysokom rozlíšení sirka, vyska = 1050, 666 # Vytvorenie čistého bieleho plátna karticka = Image.new("RGB", (sirka, vyska), "#FFFFFF") kresli = ImageDraw.Draw(karticka) # Použitie základného systémového písma (vylepšené pre čitateľnosť) try: font_nadpis = ImageFont.truetype("arial.ttf", 48) font_text = ImageFont.truetype("arial.ttf", 32) except: font_nadpis = ImageFont.load_default() font_text = ImageFont.load_default() # Kreslenie jemného sivého rámčeka (okraj pre strihanie) kresli.rectangle([10, 10, sirka-10, vyska-10], outline="#E0E0E0", width=2) # Vytvorenie textového obsahu kresli.text((50, 50), nadpis.upper(), fill="#1A1A1A", font=font_nadpis) body = [bod1, bod2, bod3, bod4, bod5] y_pozicia = 150 for bod in body: if bod.strip(): # Ak bod nie je prázdny # Automatické zalamovanie textu, ak je príliš dlhý kresli.text((50, y_pozicia), bod, fill="#333333", font=font_text) y_pozicia += 90 # Medzera medzi riadkami return karticka # Vytvorenie jednoduchého webového rozhrania rozhranie = dt.Interface( fn=vytvor_karticku, inputs=[ dt.Textbox(label="Nadpis kartičky", value="Duchovné zhrnutie"), dt.Textbox(label="1. Bod (vrátane ikonky)", value="✝️ Jadro viery: Kristus zomrel za hriechy podľa Písem."), dt.Textbox(label="2. Bod (vrátane ikonky)", value="🕊️ Božia milosť: Z Božej milosti sme tým, čím sme."), dt.Textbox(label="3. Bod (vrátane ikonky)", value="⚓ Trvalá nádej: Oslavujme Pána, lebo je dobrý."), dt.Textbox(label="4. Bod (vrátane ikonky)", value="❤️ Sila odpustenia: Komu bolo veľa odpustené, najviac miluje."), dt.Textbox(label="5. Bod (vrátane ikonky)", value="🌟 Moc viery: Úprimná viera prináša hlboký pokoj.") ], outputs=dt.Image(type="pil", label="Výsledná kartička (Kliknite pravým pre uloženie)"), title="🎴 Generátor kartičiek (Veľkosť kreditnej karty)", description="Zadajte texty a aplikácia okamžite vytvorí minimalistickú bielu kartičku presne v pomere strán kreditnej karty." ) rozhranie.launch()