Skip to content

Polyfills `CanvasRenderingContext2d.filter` capability of adopting CSS3 filters to canvas contexts at least partially.

License

Notifications You must be signed in to change notification settings

davidenke/context-filter-polyfill

Repository files navigation

context-filter-polyfill

Build Status NPM Version NPM Install Size

Examples: https://davidenke.github.io/context-filter-polyfill/

Polyfills CanvasRenderingContext2d and OffscreenCanvasRenderingContext2d capability of adopting CSS3 filters on canvas contexts (at least partially).

Right now only WebKit misses an implementation (Bugzilla #198416) all engines support it natively, despite Safari not having shipped it yet in the stable release channel.

Installation

Add the polyfill to your page via script tag from a CDN:

<head>
  <script src="https://cdn.jsdelivr.net/npm/context-filter-polyfill/dist/index.min.js"></script>
</head>

Or from npm:

npm install context-filter-polyfill

... and import it in your code:

import 'context-filter-polyfill';

Changes in 0.3.14

Since version 0.3.14 the method of how the polyfill is applied has been reworked. It now polyfills the filter on each drawing function call instead of applying it once on the context in the end.

This results in more accurate behavior compared to the native implementation.

The polyfilled and native results can be compared with a non-WebKit browser like Firefox or Chrome.

Supported filters

See it in action

Just open the integration demo on Safari / iOS.

License

MIT

About

Polyfills `CanvasRenderingContext2d.filter` capability of adopting CSS3 filters to canvas contexts at least partially.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published