Ein eigenes Bild bringt auch seinen Ausschnitt mit

Hochladen konnte man Plakat, Hintergrund und Schriftzug schon lange — der
Knopf stand da, der Endpunkt nahm an. Nur ankommen tat nichts: die Ablage
baute einen Schlüssel, den sie selbst nicht wiederfand (heute früh
repariert). Was blieb, waren drei Lücken, die man erst sieht, wenn der Weg
überhaupt funktioniert.

**Der Ausschnitt.** Ein Plakat steht hochkant im Verhältnis 2∶3, ein
Hintergrund liegt quer. Was man aussucht, passt selten von selbst — und
den Rest beschnitt bisher der Browser beim Anzeigen: mittig. Jetzt wählt
man selbst, zieht und vergrössert, und hochgeladen wird genau dieser
Ausschnitt: 600×900 beim Plakat, 1920×1080 beim Hintergrund. Gerechnet
wird im Browser; das spart die Leitung und dem Server eine Bildbibliothek.

**Der Schriftzug nicht.** Er ist ein PNG mit durchsichtigem Grund. Durch
dieselbe Mühle geschickt würde aus der Durchsicht ein weisses Rechteck —
ein Aufkleber über dem Bild. Er geht unverändert hinaus, Byte für Byte.

**Die Kachel merkte nichts.** Nach dem Hochladen fehlte der Anstoss nach
aussen; die Oberfläche zeigte weiter das alte Bild, bis man sie neu lud.

**Und zurück ging es gar nicht.** „Von Hand gesetzt" heisst auch: beim
Auffrischen bleibt es stehen. Ohne Rückweg wäre ein Fehlgriff ein
Dauerzustand — jetzt steht „Wieder automatisch" daneben, sobald etwas
festgesetzt ist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-06 19:41:04 +02:00
co-authored by Claude Opus 5
parent 327e2e9195
commit 6dc7be9822
5 changed files with 137 additions and 40 deletions
+3 -1
View File
@@ -104,7 +104,9 @@ export function kontoseite(): HTMLElement {
// **Erst zuschneiden, dann hochladen.** Ein Profilbild ist rund; was
// hochgeladen wird, ist selten quadratisch. Den Ausschnitt dem Browser zu
// überlassen hiesse: mittig, und das trifft bei einem Porträt den Hals.
const ausschnitt = await zuschneiden(datei);
const ausschnitt = await zuschneiden(datei, {
verhaeltnis: 1, breite: 512, rund: true, titel: 'Profilbild zuschneiden',
});
if (!ausschnitt) return; // Abgebrochen — das ist keine Meldung wert.
try {