Elementreferenz
BaseClip, Transform und Style
1. BaseClip
interface BaseClip {
id?: string;
type: ClipType;
start: number;
duration: number;
transform?: Transform;
zIndex?: number;
opacity?: number;
style?: Style;
animations?: Animation[];
keyframes?: Keyframe[];
transition?: Transition;
}2. Feldreferenz
id
- Typ:
string - Erforderlich: nein
- Zweck: Elementkennung
type
- Typ:
ClipType - Erforderlich: ja
Derzeit unterstützt:
videoimagetextrectcirclepolygonaudiosubtitlelayouttemplate
start
- Typ:
number - Einheit: Sekunden
- Erforderlich: ja
- Zweck: Startzeit des Clips
duration
- Typ:
number - Einheit: Sekunden
- Erforderlich: ja
- Zweck: Dauer des Clips
transform
- Typ:
Transform - Erforderlich: nein
zIndex
- Typ:
number - Erforderlich: nein
- Standard:
0
opacity
- Typ:
number - Erforderlich: nein
- Standard:
1 - Zweck: Kurzform für die Deckkraft sichtbarer Elemente
- Kompatibilitätsregel:
style.opacityhat höhere Priorität als Top-Level-opacity
style
- Typ:
Style - Erforderlich: nein
animations
- Typ:
Animation[] - Erforderlich: nein
keyframes
- Typ:
Keyframe[] - Erforderlich: nein
transition
- Typ:
Transition - Erforderlich: nein
Hinweise:
transitiongilt für sichtbare Elementeaudioführt keine visuellen Übergänge aus
3. Transform
interface Transform {
x?: number | string;
y?: number | string;
width?: number | string;
height?: number | string;
scale?: number | [number, number];
rotation?: number;
skew?: [number, number];
anchor?: Anchor;
}Derzeit wirksam zur Laufzeit:
xywidthheightscalerotationskewanchor
4. Regeln für Prozentkoordinaten
Dies ist kein DOM-ähnliches System mit Ursprung links oben. Es verwendet ein zentriertes Koordinatenmodell.
Beispiele:
x: "50%"bedeutet horizontale Mittey: "50%"bedeutet vertikale Mittex: "0%"bedeutet ganz linksx: "100%"bedeutet ganz rechtsy: "0%"bedeutet obeny: "100%"bedeutet unten
5. scale
Unterstützte Formen:
{ "scale": 1.2 }{ "scale": [1.2, 0.8] }6. anchor
Unterstützte Werte:
centertop-lefttoptop-rightleftrightbottom-leftbottombottom-right
7. Style
interface Style {
opacity?: number;
objectFit?: "fill" | "cover" | "contain";
fill?: string | Gradient;
stroke?: string;
strokeWidth?: number;
fontFamily?: string;
fontSize?: number;
fontWeight?: number | string;
fontStyle?: "normal" | "italic";
lineHeight?: number;
letterSpacing?: number;
textAlign?: "left" | "center" | "right";
textWrap?: boolean;
shadowColor?: string;
shadowBlur?: number;
shadowOffset?: [number, number];
borderRadius?: number | [number, number, number, number];
filters?: Filter[];
}Derzeit wirksam zur Laufzeit:
opacityobjectFitfillstrokestrokeWidthfontFamilyfontSizefontWeightfontStylelineHeightletterSpacingtextAligntextWrapshadowColorshadowBlurshadowOffsetborderRadiusfilters
8. filters
Unterstützt:
blurbrightnesscontrastsaturatehuegrayscalesepiainvert
9. Gemeinsame Style-Hinweise
style.objectFitist derzeit beiimageundvideosinnvoll- Erlaubte Werte sind
fill,coverundcontain - Andere Clip-Typen sollten
objectFitnicht als wirksames Feld behandeln