Source myles-tan.jpg
Providers 16 / 16
Intervention
Imagine
Services
Cells rendered
96
Total generation time
1.45 s
Peak memory
11.23 MB

Dithering

showing 16/16 providers

Rows scroll together horizontally · marks the fastest local provider per row — CDN timings measure URL build, not generation.

Atkinson 200

PHP
$image->crop(200, 150)->dither()
TWIG
{{ image|crop(200, 150)|dither|img(alt: 'Atkinson 200') }}
myles-tan.jpg200×150
intervention-gd
Atkinson 200
200×150 50.69 ms 11.23 MB
intervention-imagick
Atkinson 200
200×150 48.56 ms 11.23 MB
intervention-vips
Atkinson 200
200×150 48.60 ms 11.23 MB
imagine-gd
Atkinson 200
200×150 48.60 ms 11.23 MB
imagine-imagick ▲ FASTEST
Atkinson 200
200×150 47.99 ms 11.23 MB
cloudflare
Unsupported
cloudinary
Unsupported
imagekit
Unsupported
imgix
Unsupported
gumlet
Unsupported
bunny
Unsupported
imgproxy
Unsupported
imgproxy-pro
Disabled provider not registered
thumbor
Unsupported
imagor
Unsupported
wserv
Unsupported

Floyd-Steinberg 200

PHP
$image->crop(200, 150)->dither(DitherAlgorithm::FloydSteinberg)
TWIG
{{ image|crop(200, 150)|dither(enum('Timber\\Chainsaw\\Enum\\DitherAlgorithm').FloydSteinberg)|img(alt: 'Floyd-Steinberg 200') }}
myles-tan.jpg200×150
intervention-gd
Floyd-Steinberg 200
200×150 48.31 ms 11.23 MB
intervention-imagick
Floyd-Steinberg 200
200×150 48.29 ms 11.23 MB
intervention-vips
Floyd-Steinberg 200
200×150 47.92 ms 11.23 MB
imagine-gd
Floyd-Steinberg 200
200×150 47.18 ms 11.23 MB
imagine-imagick ▲ FASTEST
Floyd-Steinberg 200
200×150 47.12 ms 11.23 MB
cloudflare
Unsupported
cloudinary
Unsupported
imagekit
Unsupported
imgix
Unsupported
gumlet
Unsupported
bunny
Unsupported
imgproxy
Unsupported
imgproxy-pro
Disabled provider not registered
thumbor
Unsupported
imagor
Unsupported
wserv
Unsupported

Bayer 200

PHP
$image->crop(200, 150)->dither(DitherAlgorithm::Bayer)
TWIG
{{ image|crop(200, 150)|dither(enum('Timber\\Chainsaw\\Enum\\DitherAlgorithm').Bayer)|img(alt: 'Bayer 200') }}
myles-tan.jpg200×150
intervention-gd
Bayer 200
200×150 48.16 ms 11.23 MB
intervention-imagick
Bayer 200
200×150 48.59 ms 11.23 MB
intervention-vips
Bayer 200
200×150 47.34 ms 11.23 MB
imagine-gd
Bayer 200
200×150 47.54 ms 11.23 MB
imagine-imagick ▲ FASTEST
Bayer 200
200×150 47.28 ms 11.23 MB
cloudflare
Unsupported
cloudinary
Unsupported
imagekit
Unsupported
imgix
Unsupported
gumlet
Unsupported
bunny
Unsupported
imgproxy
Unsupported
imgproxy-pro
Disabled provider not registered
thumbor
Unsupported
imagor
Unsupported
wserv
Unsupported

Atkinson 400

PHP
$image->crop(400, 300)->dither()
TWIG
{{ image|crop(400, 300)|dither|img(alt: 'Atkinson 400') }}
myles-tan.jpg400×300
intervention-gd
Atkinson 400
400×300 48.76 ms 11.23 MB
intervention-imagick ▲ FASTEST
Atkinson 400
400×300 48.11 ms 11.23 MB
intervention-vips
Atkinson 400
400×300 48.53 ms 11.23 MB
imagine-gd
Atkinson 400
400×300 48.59 ms 11.23 MB
imagine-imagick
Atkinson 400
400×300 48.82 ms 11.23 MB
cloudflare
Unsupported
cloudinary
Unsupported
imagekit
Unsupported
imgix
Unsupported
gumlet
Unsupported
bunny
Unsupported
imgproxy
Unsupported
imgproxy-pro
Disabled provider not registered
thumbor
Unsupported
imagor
Unsupported
wserv
Unsupported

Floyd-Steinberg 400

PHP
$image->crop(400, 300)->dither(DitherAlgorithm::FloydSteinberg)
TWIG
{{ image|crop(400, 300)|dither(enum('Timber\\Chainsaw\\Enum\\DitherAlgorithm').FloydSteinberg)|img(alt: 'Floyd-Steinberg 400') }}
myles-tan.jpg400×300
intervention-gd
Floyd-Steinberg 400
400×300 48.23 ms 11.23 MB
intervention-imagick
Floyd-Steinberg 400
400×300 48.19 ms 11.23 MB
intervention-vips
Floyd-Steinberg 400
400×300 48.21 ms 11.23 MB
imagine-gd
Floyd-Steinberg 400
400×300 48.22 ms 11.23 MB
imagine-imagick ▲ FASTEST
Floyd-Steinberg 400
400×300 48.17 ms 11.23 MB
cloudflare
Unsupported
cloudinary
Unsupported
imagekit
Unsupported
imgix
Unsupported
gumlet
Unsupported
bunny
Unsupported
imgproxy
Unsupported
imgproxy-pro
Disabled provider not registered
thumbor
Unsupported
imagor
Unsupported
wserv
Unsupported

Bayer 400

PHP
$image->crop(400, 300)->dither(DitherAlgorithm::Bayer)
TWIG
{{ image|crop(400, 300)|dither(enum('Timber\\Chainsaw\\Enum\\DitherAlgorithm').Bayer)|img(alt: 'Bayer 400') }}
myles-tan.jpg400×300
intervention-gd
Bayer 400
400×300 48.20 ms 11.23 MB
intervention-imagick
Bayer 400
400×300 47.90 ms 11.23 MB
intervention-vips ▲ FASTEST
Bayer 400
400×300 47.66 ms 11.23 MB
imagine-gd
Bayer 400
400×300 48.06 ms 11.23 MB
imagine-imagick
Bayer 400
400×300 47.70 ms 11.23 MB
cloudflare
Unsupported
cloudinary
Unsupported
imagekit
Unsupported
imgix
Unsupported
gumlet
Unsupported
bunny
Unsupported
imgproxy
Unsupported
imgproxy-pro
Disabled provider not registered
thumbor
Unsupported
imagor
Unsupported
wserv
Unsupported