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 函数,可以用于调整图像颜色,增强图像的视觉效果。