PNG Slideshow
Create animated PNG slideshows with transitions. Upload images, set durations, add fade/slide effects, preview and export frames as PNG files.
About
A slideshow with poorly timed transitions or mismatched aspect ratios looks amateurish. This tool renders each slide onto a fixed-resolution canvas using a cover-fit algorithm that crops to w ร h without distortion. Eight transition types are computed per-pixel using cubic easing interpolation over a configurable ttransition interval. The output is a sequence of PNG frames at full resolution. No server processing occurs. All compositing runs locally via the Canvas API.
The tool assumes input images are standard raster formats (PNG, JPEG, WebP, GIF first frame). Transition rendering approximates 60 fps playback but actual smoothness depends on browser compositing performance. Export produces individual PNG files per slide. For presentations requiring precise color fidelity, verify your source images use sRGB color space.
Formulas
Each image is fitted to the canvas using the cover algorithm. The scale factor is computed as:
The source crop offset centers the image:
Transition progress uses cubic ease-in-out for smooth acceleration and deceleration:
Where t = elapsed time รท transition duration, clamped to [0, 1]. s is the cover-fit scale factor. wcanvas, hcanvas are the output canvas dimensions. wimg, himg are the source image dimensions.
Reference Data
| Transition | Type | Direction | Easing | Description |
|---|---|---|---|---|
| Fade | Alpha Blend | None | Cubic In-Out | Cross-dissolve between slides via global alpha interpolation |
| Slide Left | Translation | โ | Cubic In-Out | Current slide exits left, next enters from right |
| Slide Right | Translation | โ | Cubic In-Out | Current slide exits right, next enters from left |
| Slide Up | Translation | โ | Cubic In-Out | Current slide exits upward, next enters from bottom |
| Slide Down | Translation | โ | Cubic In-Out | Current slide exits downward, next enters from top |
| Zoom In | Scale | Center | Cubic In-Out | Current slide scales up and fades, next fades in at normal scale |
| Zoom Out | Scale | Center | Cubic In-Out | Current slide shrinks to center, next appears beneath |
| Dissolve | Pixel Noise | Random | Linear | Random pixel blocks reveal next slide progressively |
| Wipe Left | Clip Mask | โ | Cubic In-Out | Vertical edge sweeps left revealing next slide |
| Wipe Down | Clip Mask | โ | Cubic In-Out | Horizontal edge sweeps down revealing next slide |
| None | Cut | N/A | N/A | Instant switch with no transition effect |