js色相调整函数

更新时间:2023-07-09 06:22:58 阅读: 评论:0

js色相调整函数
    以下是一个用于调整图像颜色的JavaScript函数,可以修改图像的色相(hue),饱和度(saturation)和亮度(lightness)。
    函数名称:adjustHSL(hue, saturation, lightness)
    参数说明:
    - hue: 色相值,取值范围是 0-360,表示图像的色调。默认值是 0。
    - saturation: 饱和度值,取值范围是 0-100,表示图像的鲜艳程度。默认值是 100。
    - lightness: 亮度值,取值范围是 0-100,表示图像的明暗程度。默认值是 50。
    调用方式:
    ```javascript
    adjustHSL(120, 50, 80);
    ```
    函数实现:
    ```javascript
    function adjustHSL(hue = 0, saturation = 100, lightness = 50) {
    // 获取图像元素
    const img = ElementById('img');
    // 创建 canvas 元素
    const canvas = ateElement('canvas');
    canvas.width = img.width;
    canvas.height = img.height;cardboard
    // 获取 canvas 上下文
    const ctx = Context('2d');
    // 将图像绘制到 canvas 上
    ctx.drawImage(img, 0, 0);
    // 获取图像数据
    const imageData = ImageData(0, 0, canvas.width, canvas.height);
    // 遍历图像像素,调整像素颜色
    for (let i = 0; i < imageData.data.length; i += 4) {
    // 将 RGB 值转换为 HSL 值
    const hsl = rgbToHsl(
    imageData.data[i],
    imageData.data[i + 1],
    imageData.data[i + 2]
    );
    // 调整 HSL 值
    hsl[0] += hue;
    hsl[1] = saturation / 100;
    hsl[2] = lightness / 100;
    // 将 HSL 值转换为 RGB 值
    const rgb = hslToRgb(hsl[0], hsl[1], hsl[2]);
    // 更新像素颜色
    imageData.data[i] = rgb[0];
    imageData.data[i + 1] = rgb[1];
    imageData.data[i + 2] = rgb[2];
    }
电影对白    // 将修改后的图像数据绘制回 canvas
    ctx.putImageData(imageData, 0, 0);
    // 将 canvas 转换为图像
    const newImg = new Image();
    newImg.src = DataURL();ysm
泸江学习网
    // 替换原图像
    placeChild(newImg, img);
高中英语听力mp3下载    }
    // RGB 转 HSL
    function rgbToHsl(r, g, b) {
    r /= 255;
    g /= 255;
    b /= 255;
    const max = Math.max(r, g, b);
    const min = Math.min(r, g, b);
    let h, s, l = (max + min) / 2;
    if (max === min) {
    h = s = 0;
    } el {
    const d = max - min;
    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
    switch (max) {
    ca r: h = (g - b) / d + (g < b ? 6 : 0); break;
    ca g: h = (b - r) / d + 2; break;
    ca b: h = (r - g) / d + 4; break;
moncler怎么读    }
pogo什么意思
    h /= 6;timing什么意思
    }
    return [h * 360, s, l];
    }
    // HSL 转 RGB
    function hslToRgb(h, s, l) {
    let r, g, b;
    if (s === 0) {
    r = g = b = l;
furnas    } el {
    const hue2rgb = (p, q, t) => {
    if (t < 0) t += 1;
    if (t > 1) t -= 1;
    if (t < 1 / 6) return p + (q - p) * 6 * t;
    if (t < 1 / 2) return q;
    if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
    return p;
    };鸟的英文
    const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
    const p = 2 * l - q;
    r = hue2rgb(p, q, h + 1 / 3);
    g = hue2rgb(p, q, h);
    b = hue2rgb(p, q, h - 1 / 3);
    }
    return [r * 255, g * 255, b * 255];
    }
    ```
    以上是一个简单的调整图像色相的 JavaScript 函数,可以用于调整图像颜色,增强图像的视觉效果。

本文发布于:2023-07-09 06:22:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1086856.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   调整   颜色
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图