UNPKG

imagedata-filters

Version:
1 lines 3.94 kB
(function(a,r){typeof exports==="object"&&typeof module!=="undefined"?module.exports=r():typeof define==="function"&&define.amd?define(r):a.imagedataFilters=r()})(this,function(){"use strict";function a(a,r){var t=0;var n=a.data;var v=n.length;var r=r||{amount:0};var e=+r.amount||0;var u=1-e;var o,i,f;for(;t<v;t+=4){o=(.2126+.7874*u)*n[t]+(.7152-.7152*u)*n[t+1]+(.0722-.0722*u)*n[t+2];i=(.2126-.2126*u)*n[t]+(.7152+.2848*u)*n[t+1]+(.0722-.0722*u)*n[t+2];f=(.2126-.2126*u)*n[t]+(.7152-.7152*u)*n[t+1]+(.0722+.9278*u)*n[t+2];n[t]=o;n[t+1]=i;n[t+2]=f}return a}function r(a,r){var t=0;var n=a.data;var v=n.length;var r=r||{amount:0};var e=+r.amount||0;var u,o,i;for(;t<v;t+=4){u=(.213+.787*e)*n[t]+(.715-.715*e)*n[t+1]+(.072-.072*e)*n[t+2];o=(.213-.213*e)*n[t]+(.715+.285*e)*n[t+1]+(.072-.072*e)*n[t+2];i=(.213-.213*e)*n[t]+(.715-.715*e)*n[t+1]+(.072+.928*e)*n[t+2];n[t]=u;n[t+1]=o;n[t+2]=i}return a}function t(a,r){var t=0;var n=a.data;var v=n.length;var r=r||{amount:0};var e=+r.amount||0;var u,o,i;var f=1-e;for(;t<v;t+=4){u=(.393+.607*f)*n[t]+(.769-.769*f)*n[t+1]+(.189-.189*f)*n[t+2];o=(.349-.349*f)*n[t]+(.684+.314*f)*n[t+1]+(.168-.168*f)*n[t+2];i=(.272-.272*f)*n[t]+(.534-.534*f)*n[t+1]+(.131+.869*f)*n[t+2];n[t]=u;n[t+1]=o;n[t+2]=i}return a}function n(a,r){var t=0;var n=a.data;var e=n.length;var r=r||{amount:0};var u=+r.amount||0;var o,i,f;var h=v(u);for(t;t<e;t+=4){o=h["a00"]*n[t]+h["a01"]*n[t+1]+h["a02"]*n[t+2]+0+0;i=h["a10"]*n[t]+h["a11"]*n[t+1]+h["a12"]*n[t+2]+0+0;f=h["a20"]*n[t]+h["a21"]*n[t+1]+h["a22"]*n[t+2];n[t]=o;n[t+1]=i;n[t+2]=f}return a}function v(a){var r,t,n,v,e,u,o,i,f;var h=Math.cos(a);var d=Math.sin(a);r=.213+h*.787+d*-.213;v=.213+h*-.213+d*.143;o=.213+h*-.213+d*-.787;t=.715+h*-.715+d*-.715;e=.715+h*.285+d*.14;i=.715+h*-.715+d*.715;n=.072+h*-.072+d*.928;u=.072+h*-.072+d*-.283;f=.072+h*.928+d*.072;return{a00:r,a01:t,a02:n,a10:v,a11:e,a12:u,a20:o,a21:i,a22:f}}function e(a,r){var t,n;var v=a.data;var e=a.width;var o=a.height;var f=v.length;var r=r||{amount:0};var h=Math.round(r.amount)||0;var d;var g;if(!h){return a}var c=i(h);for(n=0;n<o;n++){for(t=0;t<e;t++){d=t*4+n*4*e;g=u(t,n,c,a,h);v[d]=g.r;v[d+1]=g.g;v[d+2]=g.b;v[d+3]=g.a}}return a}function u(a,r,t,n,v){var e=n.width;var u=n.height;var i=a*4+r*4*e;var f;var h=o(a,r,n,v,t);var d=h.list;var g=h.allweights;var c={r:0,g:0,b:0,a:0};for(var m=0;m<d.length;m++){f=i+d[m]["x"]*4+d[m]["y"]*e*4;c.r+=n.data[f]*d[m]["weight"]/g;c.g+=n.data[f+1]*d[m]["weight"]/g;c.b+=n.data[f+2]*d[m]["weight"]/g;c.a+=n.data[f+3]*d[m]["weight"]/g}return c}function o(a,r,t,n,v){var e,u;var o=[];var i=0;for(e=-n;e<=n;e++){for(u=-n;u<=n;u++){if(a+e>=0&&a+e<t.width&&r+u>=0&&r+u<t.height){o.push({x:e,y:u,weight:v[e][u]});i+=v[e][u]}}}return{list:o,allweights:i}}function i(a){var r,t;var n={};for(r=-a;r<=a;r++){n[r]={};for(t=-a;t<=a;t++){n[r][t]=f(r,t,a)}}return n}function f(a,r,t){var n=Math.exp(-(a*a+r*r)/(2*t*t))/(2*Math.PI*t*t);return n}function h(a,r){var t=0;var n=a.data;var v=n.length;var r=r||{amount:0};var e=+r.amount||0;var u,o,i;for(;t<v;t+=4){u=n[t]*e;o=n[t+1]*e;i=n[t+2]*e;n[t]=u;n[t+1]=o;n[t+2]=i}return a}function d(a,r){var t=0;var n=a.data;var v=n.length;var r=r||{amount:0};var e=+r.amount||0;var u,o,i;for(;t<v;t+=4){u=128+(n[t]-128)*e;o=128+(n[t+1]-128)*e;i=128+(n[t+2]-128)*e;n[t]=u;n[t+1]=o;n[t+2]=i}return a}function g(a,r){var t=0;var n=a.data;var v=n.length;var r=r||{amount:0};var e=+r.amount||0;var u;var o=[0,+e];for(;t<v;t+=4){u=c(n[t+3]/255,o);n[t+3]=u*255}return a}function c(a,r){if(a===1){return r[1]}return r[0]+a*(r[1]-r[0])}function m(a,r){var t=0;var n=a.data;var v=n.length;var r=r||{amount:0};var e=+r.amount||0;var u,o,i;var f=[+e,1-e];for(;t<v;t+=4){u=l(n[t]/255,f);o=l(n[t+1]/255,f);i=l(n[t+2]/255,f);n[t]=u*255;n[t+1]=o*255;n[t+2]=i*255}return a}function l(a,r){if(a===1){return r[1]}return r[0]+a*(r[1]-r[0])}var s={grayscale:a,saturate:r,sepia:t,hueRotate:n,blur:e,brightness:h,contrast:d,opacity:g,invert:m};return s});