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