fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
3 lines (2 loc) • 947 B
JavaScript
import{defineProperty as e}from"../../_virtual/_rollupPluginBabelHelpers.min.mjs";import{BaseFilter as t}from"./BaseFilter.min.mjs";import{classRegistry as a}from"../ClassRegistry.min.mjs";import{fragmentSource as r}from"./shaders/grayscale.min.mjs";const s={mode:"average"};class i extends t{applyTo2d(e){let{imageData:{data:t}}=e;for(let e,a=0;a<t.length;a+=4){switch(this.mode){case"average":e=(t[a]+t[a+1]+t[a+2])/3;break;case"lightness":e=(Math.min(t[a],t[a+1],t[a+2])+Math.max(t[a],t[a+1],t[a+2]))/2;break;case"luminosity":e=.21*t[a]+.72*t[a+1]+.07*t[a+2]}t[a]=e,t[a+1]=e,t[a+2]=e}}getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return r[this.mode]}sendUniformData(e,t){e.uniform1i(t.uMode,1)}isNeutralState(){return!1}}e(i,"type","Grayscale"),e(i,"defaults",s),e(i,"uniformLocations",["uMode"]),a.setClass(i);export{i as Grayscale,s as grayscaleDefaultValues};
//# sourceMappingURL=Grayscale.min.mjs.map