79292638

Date: 2024-12-18 22:21:33
Score: 0.5
Natty:
Report link

from PIL import Image, ImageDraw, ImageFont

Function to create an image with a handwritten style table

def create_handwritten_table(data, image_name): # Image size setup image_width = 1400 row_height = 100 # Adjust for handwriting style header_height = 120 num_rows = len(data) image_height = header_height + row_height * (num_rows - 1) padding = 20

# Load handwritten style font (placeholder font path)
font_path = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"  # Replace with a handwritten font if available
font_size = 24
font = ImageFont.truetype(font_path, font_size)

# Colors
header_color = (240, 240, 240)
row_color = (255, 255, 255)
line_color = (0, 0, 0)
text_color = (0, 0, 0)

# Create an image
image = Image.new("RGB", (image_width, image_height), "white")
draw = ImageDraw.Draw(image)

# Draw table headers
headers = ["Seiten", "Prozessbeteiligte/r-Hauptfiguren", "Inhalt", "Zentrale Aussage(n)", "Meine Reaktion/Fragen"]
column_widths = [100, 300, 400, 300, 300]

# Draw header row
x = 0
for i, header in enumerate(headers):
    draw.rectangle([x, 0, x + column_widths[i], header_height], fill=header_color, outline=line_color)
    draw.text((x + padding, header_height // 3), header, fill=text_color, font=font)
    x += column_widths[i]

# Draw table content with a handwritten style
y = header_height
for row in data[1:]:
    x = 0
    for i, cell in enumerate(row):
        draw.rectangle([x, y, x + column_widths[i], y + row_height], fill=row_color, outline=line_color)
        draw.text((x + padding, y + 20), cell, fill=text_color, font=font)
        x += column_widths[i]
    y += row_height

# Save the image
image.save(image_name)

Data extracted from the provided images

table_data = [ ["Seiten", "Prozessbeteiligte/r-Hauptfiguren", "Inhalt", "Zentrale Aussage(n)", "Meine Reaktion/Fragen"], ["Erster Akt", "Vorsitzender", "Begrüßung der Zuschauer und Erläuterung des Vorgehens.", "„Wir – als Zuschauer – sind diejenigen, die urteilen werden.“", "Warum sollen die Zuschauer des Gerichtsprozesses das Urteil treffen?"], ["9-13", "Vorsitzender, Verteidiger, Angeklagter (Lars Koch)", "Feststellende Formalitäten, v.a. zu anwesenden Personen; Feststellung der Personalien Lars Kochs.", "„Die Bundeswehr wartete mit der Entscheidung, das Ziel endgültig von oben wegzunehmen.“", "Wie hat sich Lars Koch gefühlt bei der ganzen Frage?"], ["13-14", "Vorsitzender, Verteidiger, Staatsanwältin", "Mit der Diskussion hat es begonnen. Lars Koch wird befragt, wann er die Tat begangen hat.", "„Die Wahrheit muss ans Licht kommen!“", "Bereut Lars die Tat wirklich oder ist die Frage dazu bedeutend?"], ["16-91", "Angeklagter, Vorsitzender, Verteidiger", "Die wichtigen Fragen handeln von „Moral“ und „Recht.“", "Darf ein Mensch getötet werden, um viele andere zu retten?", "Ist er so verzweifelt, dass er keine andere Wahl hatte?"], ["28-50", "Staatsanwältin, Lars Koch", "Es wird besprochen, warum er gehandelt hat.", "„Ich musste nicht, was ich tue. Ich wollte die Menschen im Stadion retten!“", "Hätte Lars Koch auch anders reagieren können, indem er wartet oder schreibt?"], ["51-62", "Vorsitzende, Verteidiger, Staatsanwältin", "Es wird über die Menschenwürde und die Gesetze diskutiert.", "„Das Leben eines Menschen ist nicht mehr wert als das andere.“", "Verstehen die Zuschauer/Leser das Handeln oder nicht?"], ["63-76", "Herr Lauterbach, Lars Koch, Staatsanwältin, Frau Meiser", "Zeugen erzählen von ihren Erfahrungen.", "„Ich hatte solche Angst. Alle wussten nicht, was passiert.“", "Wie reagieren die Leute, wenn sie hören, dass Lars Koch selbst Angst hatte?"], ["76-87", "Staatsanwältin, Lars Koch, Vorsitzende", "Er wird immer noch befragt. War sein Handeln richtig?", "„Ich musste es tun, sonst wären andere gestorben.“", "Wie würden andere in so einer Situation handeln?"], ["98-113", "Vorsitzender, Verteidiger, Publikum", "Der Verteidiger ist fertig. Jetzt sind die anderen gefragt.", "„Jetzt liegt die Entscheidung bei Ihnen.“", "Wie werden die anderen sich entscheiden?"], ["113-123", "Staatsanwältin, Verteidiger, Vorsitzender", "Alles wird zusammengefasst.", "„Das Gesetz ist klar, kein Platz für Gefühle.“", "Stimmt das, was im Gesetz steht? Macht es Sinn?"], ["124-130", "Staatsanwältin, Verteidiger", "Staatsanwältin und Verteidiger sagen beide, was sie halten.", "„Manchmal muss man entscheiden, welches das kleinere Übel ist.“", "/"], ["130FF", "Publikum, Vorsitzender", "Das Publikum wird gebeten, eine Entscheidung zu treffen.", "„Das Urteil liegt in Ihrer Hand!“", "Was, wenn man nicht klar entscheiden kann, ob es richtig oder falsch war?"], ["131-140", "Publikum, Staatsanwältin, Verteidiger", "Meinungen werden festgestellt.", "„Es gibt keine einfache Antwort auf diese Frage.“", "Was denken die Zuschauer/Leser? Wie fühlen sie sich dabei?"], ["141-145", "Publikum, Vorsitzender", "Das ganze Vorgehen kommt zum Schluss.", "„Was heißt Gerechtigkeit für uns?“", "/"] ]

Generate handwritten style table

handwritten_table_path = "/mnt/data/handwritten_table_image.png" create_handwritten_table(table_data, handwritten_table_path)

Return the handwritten table image path

handwritten_table_path

Reasons:
  • Long answer (-1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: Kasan