diff --git a/src/utils/color-util.ts b/src/utils/color-util.ts index f575a51..f791101 100644 --- a/src/utils/color-util.ts +++ b/src/utils/color-util.ts @@ -22,31 +22,31 @@ */ import type { RGB, RGBA, HSV } from "@/definitions/colors"; -export const rgb2YCbCr = (r: number, g: number, b: number): RGB => ({ - r: 0.2990 * r + 0.5870 * g + 0.1140 * b, +export const rgb2YCbCr = ( r: number, g: number, b: number ): RGB => ({ + r: 0.2990 * r + 0.5870 * g + 0.1140 * b, g: -0.1687 * r - 0.3313 * g + 0.5000 * b, - b: 0.5000 * r - 0.4187 * g - 0.0813 * b + b: 0.5000 * r - 0.4187 * g - 0.0813 * b }); -export const YCbCr2rgb = (r: number, g: number, b: number): RGB => ({ +export const YCbCr2rgb = ( r: number, g: number, b: number ): RGB => ({ r: r + 1.4020 * b, g: r - 0.3441 * g - 0.7141 * b, b: r + 1.7720 * g }); -export const rgb2hsv = (r: number, g: number, b: number): HSV => { - const c = rgb2YCbCr(r, g, b); - const s = Math.sqrt(c.g * c.g + c.b * c.b); - const h = Math.atan2(c.g, c.b); +export const rgb2hsv = ( r: number, g: number, b: number ): HSV => { + const c = rgb2YCbCr( r, g, b ); + const s = Math.sqrt( c.g * c.g + c.b * c.b ); + const h = Math.atan2( c.g, c.b ); return { h, s, v: c.r }; } -export const hsv2rgb = (h: number, s: number, v: number): RGB => { - const g = s * Math.sin(h); - const b = s * Math.cos(h); - return YCbCr2rgb(v, g, b); +export const hsv2rgb = ( h: number, s: number, v: number ): RGB => { + const g = s * Math.sin( h ); + const b = s * Math.cos( h ); + return YCbCr2rgb( v, g, b ); }; export const hexToRGBA = ( hex: string ): RGBA => {