context-filter-polyfill
v0.3.21
Published
Polyfills the `CanvasRenderingContext2d` and `OffscreenCanvasRenderingContext2D` capability of adopting CSS3 filters on canvas contexts (at least partially).
Downloads
16,043
Readme
context-filter-polyfill
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
url
✗blur
✔brightness
✔contrast
✔drop-shadow
✔grayscale
✔hue-rotate
✔invert
✔none
✔opacity
✔saturate
✔sepia
✔
See it in action
Just open the integration demo on Safari / iOS.