User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Drop images here or click to browse PNG, JPEG, WebP, GIF, BMP
Add images to begin
0 / 0
3.0s
0.8s
#1a1a2e
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

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.

png slideshow image slideshow creator photo slideshow slideshow maker png transition image presentation

Formulas

Each image is fitted to the canvas using the cover algorithm. The scale factor is computed as:

s = max(wcanvaswimg, hcanvashimg)

The source crop offset centers the image:

xoffset = wimg โˆ’ wcanvas รท s2

Transition progress uses cubic ease-in-out for smooth acceleration and deceleration:

p(t) =
{
4t3 if t < 0.51 โˆ’ (โˆ’2t + 2)3 รท 2 otherwise

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

TransitionTypeDirectionEasingDescription
FadeAlpha BlendNoneCubic In-OutCross-dissolve between slides via global alpha interpolation
Slide LeftTranslationโ†Cubic In-OutCurrent slide exits left, next enters from right
Slide RightTranslationโ†’Cubic In-OutCurrent slide exits right, next enters from left
Slide UpTranslationโ†‘Cubic In-OutCurrent slide exits upward, next enters from bottom
Slide DownTranslationโ†“Cubic In-OutCurrent slide exits downward, next enters from top
Zoom InScaleCenterCubic In-OutCurrent slide scales up and fades, next fades in at normal scale
Zoom OutScaleCenterCubic In-OutCurrent slide shrinks to center, next appears beneath
DissolvePixel NoiseRandomLinearRandom pixel blocks reveal next slide progressively
Wipe LeftClip Maskโ†Cubic In-OutVertical edge sweeps left revealing next slide
Wipe DownClip Maskโ†“Cubic In-OutHorizontal edge sweeps down revealing next slide
NoneCutN/AN/AInstant switch with no transition effect

Frequently Asked Questions

The tool accepts any format the browser can decode natively: PNG, JPEG, WebP, GIF (first frame only), BMP, ICO, and AVIF (in supporting browsers). SVG files are rasterized at the canvas resolution upon import. All images are rendered to an internal canvas at the configured output resolution regardless of source format.
The cover algorithm scales the image so the shorter dimension fills the canvas completely, then crops the overflow symmetrically. A 4000ร—500 panorama on a 1920ร—1080 canvas will scale to height and crop approximately 77% of the width from each side. For such edge cases, consider cropping the source image manually before import to control the visible region.
PNG file size depends on canvas dimensions and image complexity. A 1920ร—1080 canvas with photographic content typically produces files between 2-6 MB per frame. Flat colors and gradients compress significantly better. The tool exports at maximum quality with no lossy compression. Reduce canvas resolution to decrease file sizes.
Yes. Each slide has independent duration and transition settings. The global defaults apply to newly added slides, but you can override per-slide duration (how long it displays) and per-slide transition type and speed. The transition occurs between the current slide and the next one in sequence.
Images above 4000ร—4000 pixels require significant GPU memory for canvas compositing. The browser may throttle requestAnimationFrame when texture memory is exhausted. For smooth 60 fps playback, keep source images under 8 megapixels or reduce the output canvas resolution. The export function is unaffected since it renders frames sequentially.
The dissolve effect uses a seeded pseudo-random block pattern generated once per transition. Blocks are 8ร—8 pixel squares that reveal progressively based on a pre-shuffled index array. This ensures the pattern is deterministic per playback but visually random. The seed resets each time the transition starts.