diff --git a/html/color.js b/html/color.js index eef8a81..d8be8c0 100644 --- a/html/color.js +++ b/html/color.js @@ -108,4 +108,44 @@ const hax2light=function(hax,l){ // 十六进制转换十进制, // hax2burn, // hax2light -// } \ No newline at end of file +// } + + + + +const rgb2yuv = (r, g, b) => { + var y, u, v; + + y = r * .299000 + g * .587000 + b * .114000; + u = r * -.168736 + g * -.331264 + b * .500000 + 128; + v = r * .500000 + g * -.418688 + b * -.081312 + 128; + + y = Math.floor(y); + u = Math.floor(u); + v = Math.floor(v); + + return [y, u, v]; +}; + +const yuv2rgb = (y, u, v) => { + var r, g, b; + + r = y + 1.4075 * (v - 128); + g = y - 0.3455 * (u - 128) - (0.7169 * (v - 128)); + b = y + 1.7790 * (u - 128); + + r = Math.floor(r); + g = Math.floor(g); + b = Math.floor(b); + + r = (r < 0) ? 0 : r; + r = (r > 255) ? 255 : r; + + g = (g < 0) ? 0 : g; + g = (g > 255) ? 255 : g; + + b = (b < 0) ? 0 : b; + b = (b > 255) ? 255 : b; + + return [r, g, b]; +}; \ No newline at end of file diff --git a/html/louvre.js b/html/louvre.js index fc8102d..00b88bd 100644 --- a/html/louvre.js +++ b/html/louvre.js @@ -1,48 +1,11 @@ /** * @author itorr - * @date 2020-04-08 - * @Description 蒸汽波风格化处理 + * @date 2022-06-01 + * @Description One Last Image * */ -const rgb2yuv = (r, g, b) => { - var y, u, v; - - y = r * .299000 + g * .587000 + b * .114000; - u = r * -.168736 + g * -.331264 + b * .500000 + 128; - v = r * .500000 + g * -.418688 + b * -.081312 + 128; - - y = Math.floor(y); - u = Math.floor(u); - v = Math.floor(v); - - return [y, u, v]; -}; - -const yuv2rgb = (y, u, v) => { - var r, g, b; - - r = y + 1.4075 * (v - 128); - g = y - 0.3455 * (u - 128) - (0.7169 * (v - 128)); - b = y + 1.7790 * (u - 128); - - r = Math.floor(r); - g = Math.floor(g); - b = Math.floor(b); - - r = (r < 0) ? 0 : r; - r = (r > 255) ? 255 : r; - - g = (g < 0) ? 0 : g; - g = (g > 255) ? 255 : g; - - b = (b < 0) ? 0 : b; - b = (b > 255) ? 255 : b; - - return [r, g, b]; -}; - const randRange = (a, b) => Math.floor(Math.random() * (b - a) + a); const inputImageEl = document.querySelector('#input'); diff --git a/simple.png b/simple.png new file mode 100644 index 0000000..e0167b3 Binary files /dev/null and b/simple.png differ