@if (preservesAnimation()) { Animated GIF and WebP avatars keep their original animation and framing. } @else { Drag image to frame subject. Zoom until preview looks right. Final image saves as 256x256 WebP. }
@if (preservesAnimation()) { Animation and original framing are preserved. } @else { Preview matches saved crop. }
Source
{{ source().name }}
{{ source().width }} x {{ source().height }}
Zoom
@if (preservesAnimation()) { Animated avatars keep the original frame sequence. } @else { Use wheel or slider. }
@if (preservesAnimation()) { Animated upload detected. } @else { {{ (clampedTransform().zoom * 100).toFixed(0) }}% zoom }