# LehrerApp Templating ## Bildskalierung `IMG` unterstützt neben dem festen Begrenzungsrahmen eine optionale prozentuale Skalierung: ```text IMG logo.png 15 15 30 12 scale=50% ``` Der Rahmen von `30 × 12` Layout-Einheiten wird dabei auf `15 × 6` skaliert. `x` und `y` bleiben unverändert. Das Bild wird mit erhaltenem Seitenverhältnis in diesen Rahmen eingepasst. Ohne `scale` gilt wie bisher `100%`. Zulässig sind Werte größer als `0` bis einschließlich `1000%`. ## Wiederverwendbare Ausgangsvorlagen Der TemplateDesigner verwaltet lokale Ausgangsvorlagen im Benutzerprofil. Eine Ausgangsvorlage ist weiterhin ein normales `.lavorlage`-Paket und kann deshalb importiert oder exportiert werden. - **Bearbeiten** öffnet die Ausgangsvorlage mit ihrer stabilen ID. Erneutes Speichern aktualisiert sie. - **Als neues Projekt** kopiert Layout, Platzhalter und sämtliche Assets, vergibt aber eine neue ID. - **Duplizieren** erzeugt eine weitere unabhängige Ausgangsvorlage. - **Vorschau** rendert die Vorlage mit typgerechten Beispieldaten, ohne das aktuelle Projekt zu ändern. Die Bibliothek liegt unter `LehrerApp/TemplateDesigner/starter-templates` im plattformspezifischen Anwendungsdatenverzeichnis und wird nicht in das LehrerApp-Repository oder Release eingebettet. ## Visueller Koordinateneditor Die QuestPDF-Vorschau dient gleichzeitig als maßstabsgetreue Zeichenfläche. Der Designer bildet das tatsächlich sichtbare Seitenrechteck unabhängig von Zoom und freien Rändern auf die `PAGE`- Koordinaten ab: ```text dslX = (mausX - seitenrandLinks) / angezeigteSeitenbreite * pageWidth dslY = (mausY - seitenrandOben) / angezeigteSeitenhöhe * pageHeight ``` Im Messmodus übernimmt ein Klick `x/y`; ein aufgezogener Bereich übernimmt zusätzlich Breite und Höhe ins Elementformular. Im Bearbeitungsmodus lassen sich vorhandene Elemente verschieben und - außer einzeiligem `TEXT` - am rechten unteren Anfasser skalieren. Rasterfang und Pfeiltasten sind für Feinkorrekturen verfügbar. Änderungen werden in die ursprüngliche DSL-Zeile zurückgeschrieben, wobei Inhalte, Platzhalter, Formatangaben und Attribute erhalten bleiben.