cie-colorconverter
Version:
Convert between CIE color spaces
2 lines • 11.3 kB
JavaScript
var U=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var ir=Object.getOwnPropertyNames;var pr=Object.prototype.hasOwnProperty;var mr=r=>U(r,"__esModule",{value:!0});var nr=(r,e)=>{for(var t in e)U(r,t,{get:e[t],enumerable:!0})},Tr=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ir(e))!pr.call(r,i)&&(t||i!=="default")&&U(r,i,{get:()=>e[i],enumerable:!(o=or(e,i))||o.enumerable});return r};var ur=(r=>(e,t)=>r&&r.get(e)||(t=Tr(mr({}),e,1),r&&r.set(e,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var Dr={};nr(Dr,{LCHabToLCHuv:()=>vr,LCHabToLab:()=>Z,LCHabToLuv:()=>J,LCHabToRGB:()=>Cr,LCHabToXYZ:()=>V,LCHabToxyY:()=>Gr,LCHuvToLCHab:()=>br,LCHuvToLab:()=>$,LCHuvToLuv:()=>Q,LCHuvToRGB:()=>Br,LCHuvToXYZ:()=>g,LCHuvToxyY:()=>Or,LabToLCHab:()=>b,LabToLCHuv:()=>Lr,LabToLuv:()=>q,LabToRGB:()=>Nr,LabToXYZ:()=>W,LabToxyY:()=>Er,LuvToLCHab:()=>xr,LuvToLCHuv:()=>G,LuvToLab:()=>j,LuvToRGB:()=>Rr,LuvToXYZ:()=>P,LuvToxyY:()=>_r,RGBToLCHab:()=>Ar,RGBToLCHuv:()=>Wr,RGBToLab:()=>er,RGBToLuv:()=>tr,RGBToXYZ:()=>w,RGBToxyY:()=>yr,XYZToLCHab:()=>Mr,XYZToLCHuv:()=>fr,XYZToLab:()=>v,XYZToLuv:()=>B,XYZToRGB:()=>C,XYZToxyY:()=>O,xyYToLCHab:()=>Hr,xyYToLCHuv:()=>Pr,xyYToLab:()=>hr,xyYToLuv:()=>Ir,xyYToRGB:()=>Yr,xyYToXYZ:()=>Y});var p={REF_WHITE:"D50",RGB_MODEL:"sRGB",GAMMA_MODEL:"sRGB",ADAPTION:"Bradford"},E=216/24389,N=24389/27;var _=class{};_.transpose=e=>{var m;let t=e.length||0,o=(m=e[0])==null?void 0:m.length,i=z();for(let n=0;n<t;n++)for(let T=0;T<o;T++)i[T][n]=e[n][T];return i},_.inv=e=>{let t=z(),[[o,i,m],[n,T,c],[u,s,l]]=e,x=o*T*l-o*c*s-i*n*l+i*c*u+m*n*s-m*T*u;if(x===0)throw new Error("Matrix not invertible");let a=1/x;return t[0][0]=a*(T*l-c*s),t[0][1]=a*(m*s-i*l),t[0][2]=a*(i*c-m*T),t[1][0]=a*(c*u-n*l),t[1][1]=a*(o*l-m*u),t[1][2]=a*(m*n-o*c),t[2][0]=a*(n*s-T*u),t[2][1]=a*(i*u-o*s),t[2][2]=a*(o*T-i*n),t},_.multiply_3x3_times_triple=(e,t)=>{let[[o,i,m],[n,T,c],[u,s,l]]=e,[x,a,R]=t;return[o*x+i*a+m*R,n*x+T*a+c*R,u*x+s*a+l*R]},_.multiply_triple_times_3x3=(e,t)=>{let[o,i,m]=e,[[n,T,c],[u,s,l],[x,a,R]]=t;return[n*o+u*i+x*m,T*o+s*i+a*m,c*o+l*i+R*m]},_.multiply_3x3_times_3x3=(e,t)=>{let[[o,i,m],[n,T,c],[u,s,l]]=e,[[x,a,R],[f,y,A],[h,D,H]]=t;return[[o*x+i*f+m*h,o*a+i*y+m*D,o*R+i*A+m*H],[n*x+T*f+c*h,n*a+T*y+c*D,n*R+T*A+c*H],[u*x+s*f+l*h,u*a+s*y+l*D,u*R+s*A+l*H]]};var z=()=>[[1,0,0],[0,1,0],[0,0,1]];var L=r=>cr[r]||[1,1,1],cr={A:[1.0985,1,.35585],B:[.99072,1,.85223],C:[.98074,1,1.18232],D50:[.96422,1,.82521],D55:[.95682,1,.92149],D65:[.95047,1,1.0888],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]};var k=r=>sr[r]||[[1,0,0],[0,1,0],[0,0,1]],sr={Bradford:[[.8951,-.7502,.0389],[.2664,1.7135,-.0685],[-.1614,.0367,1.0296]],"von Kries":[[.40024,-.2263,0],[.7076,1.16532,0],[-.08081,.0457,.91822]]};var I=r=>ar[r],ar={"Adobe RGB (1998)":[.95047,1,1.08883],AppleRGB:[.95047,1,1.08883],"Best RGB":[.96422,1,.82521],"Beta RGB":[.96422,1,.82521],"Bruce RGB":[.95047,1,1.08883],"CIE RGB":[1,1,1],"ColorMatch RGB":[.96422,1,.82521],"Don RGB 4":[.96422,1,.82521],"ECI RGB v2":[.96422,1,.82521],"Ekta Space PS5":[.96422,1,.82521],"NTSC RGB":[.98074,1,1.18232],"PAL/SECAM RGB":[.95047,1,1.08883],"ProPhoto RGB":[.96422,1,.82521],"SMPTE-C RGB":[.95047,1,1.08883],sRGB:[.95047,1,1.08883],"Wide Gamut RGB":[.96422,1,.82521]};var F=r=>{let e,t,o,i,m,n;switch(r){case"Adobe RGB (1998)":{[e,t,o,i,m,n]=[.64,.33,.21,.71,.15,.06];break}case"AppleRGB":{[e,t,o,i,m,n]=[.625,.34,.28,.595,.155,.07];break}case"Best RGB":{[e,t,o,i,m,n]=[.7347,.2653,.215,.775,.13,.035];break}case"Beta RGB":{[e,t,o,i,m,n]=[.6888,.3112,.1986,.7551,.1265,.0352];break}case"Bruce RGB":{[e,t,o,i,m,n]=[.64,.33,.28,.65,.15,.06];break}case"CIE RGB":{[e,t,o,i,m,n]=[.735,.265,.274,.717,.167,.009];break}case"ColorMatch RGB":{[e,t,o,i,m,n]=[.63,.34,.295,.605,.15,.075];break}case"Don RGB 4":{[e,t,o,i,m,n]=[.696,.3,.215,.765,.13,.035];break}case"ECI RGB v2":{[e,t,o,i,m,n]=[.67,.33,.21,.71,.14,.08];break}case"Ekta Space PS5":{[e,t,o,i,m,n]=[.695,.305,.26,.7,.11,.005];break}case"NTSC RGB":{[e,t,o,i,m,n]=[.67,.33,.21,.71,.14,.08];break}case"PAL/SECAM RGB":{[e,t,o,i,m,n]=[.64,.33,.29,.6,.15,.06];break}case"ProPhoto RGB":{[e,t,o,i,m,n]=[.7347,.2653,.1596,.8404,.0366,1e-4];break}case"SMPTE-C RGB":{[e,t,o,i,m,n]=[.63,.34,.31,.595,.155,.07];break}case"sRGB":{[e,t,o,i,m,n]=[.64,.33,.3,.6,.15,.06];break}case"Wide Gamut RGB":{[e,t,o,i,m,n]=[.735,.265,.115,.826,.157,.018];break}}let T=e/t,c=1,u=(1-e-t)/t,s=o/i,l=1,x=(1-o-i)/i,a=m/n,R=1,f=(1-m-n)/n,y=I(r),A=y[0],h=y[1],D=y[2],[H,d,S]=_.multiply_3x3_times_triple(_.inv([[T,s,a],[c,l,R],[u,x,f]]),[A,h,D]);return _.transpose([[H*T,d*s,S*a],[H*c,d*l,S*R],[H*u,d*x,S*f]])};var X=r=>lr[r]||1,lr={"1.0":1,"1.8":1.8,"2.2":2.2,sRGB:-2.2,"L*":0};var K=(r,e)=>{let t=X(e);if(t>0)return r>=0?Math.pow(r,1/t):-Math.pow(-r,1/t);if(t<0){let o=1;return r<0&&(o=-1,r=-r),o*(r<=.0031308?r*12.92:1.055*Math.pow(r,1/2.4)-.055)}else{let o=1;return r<0&&(o=-1,r=-r),o*(r<=216/24389?r*24389/2700:1.16*Math.pow(r,1/3)-.16)}};var G=r=>{let[e,t,o]=r,i=180/Math.PI*Math.atan2(o,t);return[e,Math.sqrt(Math.pow(t,2)+Math.pow(o,2)),i+(i>=0?0:360)]},P=(r,{refWhite:e=p.REF_WHITE}={})=>{let[t,o,i]=r,m=t>N*E?Math.pow((t+16)/116,3):t/N,n=L(e),T=n[0],c=n[1],u=n[2],s=T+15*c+3*u,l=9*c/s,x=4*T/s,a=m*(39*t/(i+13*t*l)-5),R=-1/3,f=-5*m,y=1/3*(52*t/(o+13*t*x)-1),A=(a-f)/(y-R),h=A*y+f;return[A,m,h]},_r=(r,{refWhite:e=p.REF_WHITE}={})=>O(P(r,{refWhite:e}),{refWhite:e}),j=(r,{refWhite:e=p.REF_WHITE}={})=>v(P(r,{refWhite:e}),{refWhite:e}),xr=(r,{refWhite:e=p.REF_WHITE}={})=>b(j(r,{refWhite:e})),Rr=(r,{adaptation:e=p.ADAPTION,refWhite:t=p.REF_WHITE,rgbModel:o=p.RGB_MODEL,gammaModel:i=p.GAMMA_MODEL}={})=>C(P(r,{refWhite:t}),{adaptation:e,refWhite:t,rgbModel:o,gammaModel:i});var v=(r,{refWhite:e=p.REF_WHITE}={})=>{let t=r[0],o=r[1],i=r[2],m=L(e),n=m[0],T=m[1],c=m[2],u=t/n,s=o/T,l=i/c,x=u>E?Math.pow(u,1/3):(N*u+16)/116,a=s>E?Math.pow(s,1/3):(N*s+16)/116,R=l>E?Math.pow(l,1/3):(N*l+16)/116;return[116*a-16,500*(x-a),200*(a-R)]},B=(r,{refWhite:e=p.REF_WHITE}={})=>{let[t,o,i]=r,m=L(e),n=m[0],T=m[1],c=m[2],u=t+15*o+3*i,s=u>0?4*t/u:0,l=u>0?9*o/u:0,x=4*n/(n+15*T+3*c),a=9*T/(n+15*T+3*c),R=o/T,f=R>E?116*Math.pow(R,1/3)-16:N*R;return[f,13*f*(s-x),13*f*(l-a)]},C=(r,{adaptation:e=p.ADAPTION,refWhite:t=p.REF_WHITE,rgbModel:o=p.RGB_MODEL,gammaModel:i=p.GAMMA_MODEL}={})=>{let m=r,n=k(e);if(e!="None"){let[c,u,s]=_.multiply_triple_times_3x3(L(t),n),[l,x,a]=_.multiply_triple_times_3x3(I(o),n);m=_.multiply_triple_times_3x3(r,_.multiply_3x3_times_3x3(n,_.multiply_3x3_times_3x3([[l/c,0,0],[0,x/u,0],[0,0,a/s]],_.inv(n))))}return _.multiply_triple_times_3x3(m,_.inv(F(o))).map(c=>255*K(c,i))},O=(r,{refWhite:e=p.REF_WHITE}={})=>{let[t,o,i]=r,m=t+o+i;if(m>0)return[t/m,o/m,o];{let[n,T,c]=L(e),u=n+T+c;return[n/u,T/u,o]}},Mr=(r,{refWhite:e=p.REF_WHITE}={})=>b(v(r,{refWhite:e})),fr=(r,{refWhite:e=p.REF_WHITE}={})=>G(B(r,{refWhite:e}));var b=r=>{let[e,t,o]=r,i=180/Math.PI*Math.atan2(o,t);return[e,Math.sqrt(Math.pow(t,2)+Math.pow(o,2)),i+(i>=0?0:360)]},Nr=(r,{adaptation:e=p.ADAPTION,refWhite:t=p.REF_WHITE,rgbModel:o=p.RGB_MODEL,gammaModel:i=p.GAMMA_MODEL}={})=>C(W(r,{refWhite:t}),{adaptation:e,refWhite:t,rgbModel:o,gammaModel:i}),W=(r,{refWhite:e=p.REF_WHITE}={})=>{let t=r[0],o=r[1],i=r[2],m=(t+16)/116,n=o/500+m,T=m-i/200,c=Math.pow(n,3)>E?Math.pow(n,3):(116*n-16)/N,u=t>N*E?Math.pow((t+16)/116,3):t/N,s=Math.pow(T,3)>E?Math.pow(T,3):(116*T-16)/N,l=L(e);return[c*l[0],u*l[1],s*l[2]]},Er=(r,{refWhite:e=p.REF_WHITE}={})=>O(W(r,{refWhite:e}),{refWhite:e}),q=(r,{refWhite:e=p.REF_WHITE}={})=>B(W(r,{refWhite:e}),{refWhite:e}),Lr=(r,{refWhite:e=p.REF_WHITE}={})=>G(q(r,{refWhite:e}));var Z=r=>{let[e,t,o]=r;return[e,t*Math.cos(o*Math.PI/180),t*Math.sin(o*Math.PI/180)]},V=(r,{refWhite:e=p.REF_WHITE}={})=>W(Z(r),{refWhite:e}),Gr=(r,{refWhite:e=p.REF_WHITE}={})=>O(W(Z(r),{refWhite:e}),{refWhite:e}),J=(r,{refWhite:e=p.REF_WHITE}={})=>B(W(Z(r),{refWhite:e}),{refWhite:e}),vr=(r,{refWhite:e=p.REF_WHITE}={})=>G(J(r,{refWhite:e})),Cr=(r,{adaptation:e=p.ADAPTION,refWhite:t=p.REF_WHITE,rgbModel:o=p.RGB_MODEL,gammaModel:i=p.GAMMA_MODEL}={})=>C(V(r,{refWhite:t}),{adaptation:e,refWhite:t,rgbModel:o,gammaModel:i});var Q=r=>{let[e,t,o]=r;return[e,t*Math.cos(o*Math.PI/180),t*Math.sin(o*Math.PI/180)]},g=(r,{refWhite:e=p.REF_WHITE}={})=>P(Q(r),{refWhite:e}),Or=(r,{refWhite:e=p.REF_WHITE}={})=>O(g(r,{refWhite:e}),{refWhite:e}),$=(r,{refWhite:e=p.REF_WHITE}={})=>v(g(r,{refWhite:e}),{refWhite:e}),br=(r,{refWhite:e=p.REF_WHITE}={})=>b($(r,{refWhite:e})),Br=(r,{adaptation:e=p.ADAPTION,refWhite:t=p.REF_WHITE,rgbModel:o=p.RGB_MODEL,gammaModel:i=p.GAMMA_MODEL}={})=>C(g(r,{refWhite:t}),{adaptation:e,refWhite:t,rgbModel:o,gammaModel:i});var rr=(r,e)=>{let t=X(e);if(t>0)return r>=0?Math.pow(r,t):-Math.pow(-r,t);if(t<0){let o=1;return r<0&&(o=-1,r=-r),o*(r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4))}else{let o=1;return r<0&&(o=-1,r=-r),o*(r<=.08?2700*r/24389:(((1e6*r+48e4)*r+76800)*r+4096)/1560896)}};var w=(r,{adaptation:e=p.ADAPTION,rgbModel:t=p.RGB_MODEL,gammaModel:o=p.GAMMA_MODEL,refWhite:i=p.REF_WHITE}={})=>{let m=k(e),n=I(t),T=L(i),c=F(t);r=r.map(s=>rr(s/255,o));let u=_.multiply_triple_times_3x3(r,c);if(e!="None"){let[s,l,x]=_.multiply_triple_times_3x3(n,m),[a,R,f]=_.multiply_triple_times_3x3(T,m);return _.multiply_triple_times_3x3(u,_.multiply_3x3_times_3x3(m,_.multiply_3x3_times_3x3([[a/s,0,0],[0,R/l,0],[0,0,f/x]],_.inv(m))))}else return u},er=(r,{adaptation:e=p.ADAPTION,rgbModel:t=p.RGB_MODEL,gammaModel:o=p.GAMMA_MODEL,refWhite:i=p.REF_WHITE}={})=>v(w(r,{adaptation:e,rgbModel:t,gammaModel:o,refWhite:i}),{refWhite:i}),yr=(r,{adaptation:e=p.ADAPTION,rgbModel:t=p.RGB_MODEL,gammaModel:o=p.GAMMA_MODEL,refWhite:i=p.REF_WHITE}={})=>O(w(r,{adaptation:e,rgbModel:t,refWhite:i,gammaModel:o}),{refWhite:i}),Ar=(r,{adaptation:e=p.ADAPTION,rgbModel:t=p.RGB_MODEL,gammaModel:o=p.GAMMA_MODEL,refWhite:i=p.REF_WHITE}={})=>b(er(r,{adaptation:e,rgbModel:t,refWhite:i,gammaModel:o})),tr=(r,{adaptation:e=p.ADAPTION,rgbModel:t=p.RGB_MODEL,gammaModel:o=p.GAMMA_MODEL,refWhite:i=p.REF_WHITE}={})=>B(w(r,{adaptation:e,rgbModel:t,refWhite:i,gammaModel:o}),{refWhite:i}),Wr=(r,{adaptation:e=p.ADAPTION,rgbModel:t=p.RGB_MODEL,gammaModel:o=p.GAMMA_MODEL,refWhite:i=p.REF_WHITE}={})=>G(tr(r,{adaptation:e,rgbModel:t,refWhite:i,gammaModel:o}));var Y=r=>{let[e,t,o]=r;return t<1e-6?[0,0,0]:[e*o/t,o,(1-e-t)*o/t]},hr=(r,{refWhite:e=p.REF_WHITE}={})=>v(Y(r),{refWhite:e}),Hr=(r,{refWhite:e=p.REF_WHITE}={})=>b(v(Y(r),{refWhite:e})),Ir=(r,{refWhite:e=p.REF_WHITE}={})=>B(Y(r),{refWhite:e}),Pr=(r,{refWhite:e=p.REF_WHITE}={})=>G(B(Y(r),{refWhite:e})),Yr=(r,{adaptation:e=p.ADAPTION,refWhite:t=p.REF_WHITE,rgbModel:o=p.RGB_MODEL,gammaModel:i=p.GAMMA_MODEL}={})=>C(Y(r),{adaptation:e,rgbModel:o,refWhite:t,gammaModel:i});module.exports=ur(Dr);0&&(module.exports={LCHabToLCHuv,LCHabToLab,LCHabToLuv,LCHabToRGB,LCHabToXYZ,LCHabToxyY,LCHuvToLCHab,LCHuvToLab,LCHuvToLuv,LCHuvToRGB,LCHuvToXYZ,LCHuvToxyY,LabToLCHab,LabToLCHuv,LabToLuv,LabToRGB,LabToXYZ,LabToxyY,LuvToLCHab,LuvToLCHuv,LuvToLab,LuvToRGB,LuvToXYZ,LuvToxyY,RGBToLCHab,RGBToLCHuv,RGBToLab,RGBToLuv,RGBToXYZ,RGBToxyY,XYZToLCHab,XYZToLCHuv,XYZToLab,XYZToLuv,XYZToRGB,XYZToxyY,xyYToLCHab,xyYToLCHuv,xyYToLab,xyYToLuv,xyYToRGB,xyYToXYZ});
//# sourceMappingURL=index.js.map