Skip to content

Skalierung & Zuschnitt

Diese Seite dokumentiert alle Operationen zur Steuerung von Bildabmessungen, Seitenverhältnis, Zuschnitt und Positionierung.

Resize

rs:%resizing_type:%width:%height:%enlarge:%extend

Die Haupt-Skalierungsoperation. Kombiniert Skalierungstyp, Breite, Höhe, Enlarge und Extend in einer einzigen Anweisung. Alle Parameter sind optional und können weggelassen werden, um die Standardwerte zu verwenden.

ParameterTypStandardErlaubte Werte
resizing_typestringfitfit, fill, fill-down, force, auto
widthinteger0Beliebige positive Ganzzahl, oder 0 für automatisch
heightinteger0Beliebige positive Ganzzahl, oder 0 für automatisch
enlargebooleanfalse1, t, true zum Aktivieren
extendcompoundfalse:ce:0:0Siehe Extend

Beispiele:

# In 300x200 einpassen, Seitenverhältnis beibehalten
rs:fit:300:200

# Exakt 400x400 ausfüllen, Überschuss abschneiden
rs:fill:400:400

# Exakte Abmessungen erzwingen (kann verzerren)
rs:force:500:300

# In 300x200 einpassen, kleine Bilder vergrößern erlaubt
rs:fit:300:200:1

Rewrite-Rule-Beispiel:

Regex: ^/thumbnail/(\d+)x(\d+)/(.*) Target: /_sx/img/_/rs:fit:$1:$2/q:80/plain/$3


Size

s:%width:%height:%enlarge:%extend

Kurzform für Breite, Höhe, Enlarge und Extend -- ohne Angabe eines Skalierungstyps. Es wird der aktuelle Skalierungstyp verwendet (Standard: fit).

ParameterTypStandardErlaubte Werte
widthinteger0Beliebige positive Ganzzahl, oder 0 für automatisch
heightinteger0Beliebige positive Ganzzahl, oder 0 für automatisch
enlargebooleanfalse1, t, true zum Aktivieren
extendcompoundfalse:ce:0:0Siehe Extend

Beispiel:

s:300:200

Resizing Type

rt:%resizing_type

Definiert, wie smoxy das Quellbild skaliert. Kann unabhängig oder als Teil der rs-Operation gesetzt werden.

ParameterTypStandardErlaubte Werte
resizing_typestringfitfit, fill, fill-down, force, auto

Skalierungstypen im Detail

TypVerhalten
fitSkaliert das Bild unter Beibehaltung des Seitenverhältnisses, sodass es vollständig in die angegebenen Abmessungen passt. Das Ergebnis ist gleich groß oder kleiner als die angegebene Größe.
fillSkaliert das Bild unter Beibehaltung des Seitenverhältnisses, sodass es die angegebenen Abmessungen vollständig ausfüllt. Überstehende Teile werden abgeschnitten.
fill-downWie fill, aber wenn das skalierte Bild kleiner als die gewünschte Größe ist, wird das Ergebnis zugeschnitten, um das gewünschte Seitenverhältnis beizubehalten.
forceSkaliert auf die exakten Abmessungen ohne Beibehaltung des Seitenverhältnisses. Das Bild kann dadurch verzerrt werden.
autoWenn Quell- und Ergebnisbild die gleiche Ausrichtung haben (beide Hochformat oder beide Querformat), wird fill verwendet. Andernfalls wird fit verwendet.

Beispiel:

rt:fill

Width

w:%width

Setzt die Breite des Ergebnisbildes unabhängig. Bei 0 berechnet smoxy die Breite aus der definierten Höhe und dem Seitenverhältnis des Quellbildes.

ParameterTypStandardErlaubte Werte
widthinteger0Beliebige positive Ganzzahl, oder 0 für automatisch

Beispiel:

# Auf 600px Breite skalieren, Höhe wird automatisch berechnet
w:600

Rewrite-Rule-Beispiel:

Regex: ^/w/(\d+)/(.*) Target: /_sx/img/_/w:$1/q:80/plain/$2

Eine Anfrage an /w/800/media/photo.jpg skaliert das Bild auf 800px Breite.


Height

h:%height

Setzt die Höhe des Ergebnisbildes unabhängig. Bei 0 berechnet smoxy die Höhe aus der definierten Breite und dem Seitenverhältnis des Quellbildes.

ParameterTypStandardErlaubte Werte
heightinteger0Beliebige positive Ganzzahl, oder 0 für automatisch

Beispiel:

h:400

Min Width

mw:%width

Definiert die Mindestbreite des Ergebnisbildes.

ParameterTypStandardErlaubte Werte
widthinteger0Beliebige positive Ganzzahl, oder 0 zum Deaktivieren

WARNING

Wichtig: Wenn sowohl w als auch mw gesetzt sind, wird das endgültige Bild gemäß w zugeschnitten. Diese Kombination sollte mit Vorsicht verwendet werden.

Beispiel:

mw:200

Min Height

mh:%height

Definiert die Mindesthöhe des Ergebnisbildes.

ParameterTypStandardErlaubte Werte
heightinteger0Beliebige positive Ganzzahl, oder 0 zum Deaktivieren

WARNING

Wichtig: Wenn sowohl h als auch mh gesetzt sind, wird das endgültige Bild gemäß h zugeschnitten. Diese Kombination sollte mit Vorsicht verwendet werden.

Beispiel:

mh:200

Enlarge

el:%enlarge

Steuert, ob smoxy Bilder vergrößert, die kleiner als die Zielabmessungen sind.

ParameterTypStandardErlaubte Werte
enlargebooleanfalse1, t, true zum Aktivieren; 0, f, false zum Deaktivieren

Standardmäßig werden Bilder, die kleiner als die angeforderte Größe sind, nicht hochskaliert. Diese Option aktivieren, wenn das Bild immer den angeforderten Abmessungen entsprechen soll.

Beispiel:

# Vergrößerung erlauben
el:1

Extend

ex:%extend:%gravity

Wenn aktiviert und das skalierte Bild kleiner als die Zielabmessungen ist, wird die Leinwand auf die gewünschte Größe erweitert. Der erweiterte Bereich wird mit der Hintergrundfarbe gefüllt.

ParameterTypStandardErlaubte Werte
extendbooleanfalse1, t, true zum Aktivieren
gravitystringce:0:0Jeder Gravity-Wert außer sm

Beispiel:

# Leinwand erweitern, Bild oben platzieren
ex:1:no

# Leinwand erweitern, Bild zentrieren (Standard)
ex:1:ce

Extend Aspect Ratio

exar:%extend:%gravity

Wenn aktiviert, wird die Leinwand des Bildes erweitert, um das gewünschte Seitenverhältnis zu erreichen. Der zusätzliche Bereich wird mit der Hintergrundfarbe gefüllt.

ParameterTypStandardErlaubte Werte
extendbooleanfalse1, t, true zum Aktivieren
gravitystringce:0:0Jeder Gravity-Wert außer sm

Beispiel:

exar:1:ce

Zoom

z:%zoom_x_y
z:%zoom_x:%zoom_y

Multipliziert die Bildabmessungen mit dem angegebenen Faktor. Kann mit w und h kombiniert werden -- smoxy berechnet zuerst die Größe aus Breite/Höhe und multipliziert dann mit dem Zoom-Faktor.

ParameterTypStandardErlaubte Werte
zoom_x_yfloat1Beliebiger Wert > 0 (einheitlich für beide Achsen)
zoom_xfloat1Beliebiger Wert > 0
zoom_yfloat1Beliebiger Wert > 0

INFO

Hinweis: Im Gegensatz zu dpr beeinflusst die zoom-Option keine Gravity-Offsets, Wasserzeichen-Offsets oder Padding-Werte.

Beispiele:

# Abmessungen verdoppeln
z:2

# 1,5x Breite, 2x Höhe
z:1.5:2

DPR (Device Pixel Ratio)

dpr:%dpr

Multipliziert die Bildabmessungen mit dem angegebenen Faktor für HiDPI-(Retina-)Displays.

ParameterTypStandardErlaubte Werte
dprfloat1Beliebiger Wert > 0

INFO

Hinweis: Im Gegensatz zu zoom beeinflusst die dpr-Option Gravity-Offsets, Wasserzeichen-Offsets und Padding-Werte mit. Das stellt sicher, dass die Struktur des Ergebnisbildes mit und ohne dpr konsistent bleibt.

Beispiel:

dpr:2

Gravity

g:%type:%x_offset:%y_offset

Steuert, worauf smoxy beim Beschneiden von Bildteilen fokussiert (verwendet bei fill-Skalierung, crop und extend).

ParameterTypStandardErlaubte Werte
typestringceSiehe Tabelle unten
x_offsetfloat0Absolute Pixel (>= 1) oder relativ (< 1)
y_offsetfloat0Absolute Pixel (>= 1) oder relativ (< 1)

Gravity-Typen

WertPosition
ceMitte (Standard)
noNorden -- oberer Rand
soSüden -- unterer Rand
eaOsten -- rechter Rand
weWesten -- linker Rand
noeaNordost -- obere rechte Ecke
noweNordwest -- obere linke Ecke
soeaSüdost -- untere rechte Ecke
soweSüdwest -- untere linke Ecke

Spezielle Gravity-Typen

WertBeschreibung
smSmart Gravity -- erkennt automatisch den „interessantesten" Bereich des Bildes und verwendet ihn als Mittelpunkt. Offsets sind hier nicht anwendbar.
fp:%x:%yFokuspunkt -- x und y sind Gleitkommazahlen zwischen 0 und 1, die den Mittelpunkt des Ergebnisbildes definieren. 0:0 ist oben links, 1:1 ist unten rechts.

Beispiele:

# Vom oberen Rand beschneiden
g:no

# Von unten rechts beschneiden, mit 10px Offset
g:soea:10:10

# Smart Crop
g:sm

# Fokuspunkt bei 30 % von links, 70 % von oben
g:fp:0.3:0.7

Rewrite-Rule-Beispiel -- Smart-Cropping-Thumbnails:

Regex: ^/smart/(\d+)x(\d+)/(.*) Target: /_sx/img/_/rs:fill:$1:$2/g:sm/q:80/plain/$3


Crop

c:%width:%height:%gravity

Schneidet das Bild auf bestimmte Abmessungen zu -- vor der Skalierung. Nützlich, um einen bestimmten Bereich aus dem Quellbild zu extrahieren.

ParameterTypStandardErlaubte Werte
widthfloaterforderlichAbsolute Pixel (>= 1) oder relativ (0-1). 0 = volle Quellbreite
heightfloaterforderlichAbsolute Pixel (>= 1) oder relativ (0-1). 0 = volle Quellhöhe
gravitystringverwendet Gravity-OptionJeder Gravity-Wert

Beispiele:

# 500x300 aus der Mitte zuschneiden
c:500:300:ce

# Oberes linkes Viertel (50 % von Breite und Höhe)
c:0.5:0.5:nowe

# 800x600 von oben zuschneiden
c:800:600:no

Trim

t:%threshold:%color:%equal_hor:%equal_ver

Entfernt umgebende Hintergrundpixel, die einer Zielfarbe ähnlich sind. Wenn keine Farbe angegeben wird, erkennt smoxy die Hintergrundfarbe automatisch.

ParameterTypStandardErlaubte Werte
thresholdfloaterforderlichFarbähnlichkeitstoleranz (beliebige positive Zahl)
colorHex-Stringautomatisch erkannt6-stelliger Hex-Farbwert ohne # (z. B. ffffff). FF00FF für transparente Hintergründe verwenden
equal_horbooleanfalse1, t, true -- gleiche Menge links und rechts entfernen
equal_verbooleanfalse1, t, true -- gleiche Menge oben und unten entfernen

WARNING

Wichtig: Trim erfordert, dass das gesamte Bild in den Arbeitsspeicher geladen wird. Das erhöht den Speicherverbrauch und die Verarbeitungszeit erheblich. Bei großen Bildern mit Vorsicht verwenden. Animierte Bilder werden nicht unterstützt.

INFO

Tipp: Wenn die Hintergrundfarbe der Bilder bekannt ist, spart die explizite Angabe über den color-Parameter Ressourcen, da smoxy die Farbe nicht automatisch erkennen muss.

Beispiele:

# Hintergrund automatisch erkennen, Schwellenwert 10
t:10

# Weißen Hintergrund trimmen, gleichmäßig auf allen Seiten
t:10:ffffff:1:1

# Transparenten Hintergrund trimmen
t:10:FF00FF