可见光的波长转换为RGB值颜色,光谱波长与RGBA分量,不同波长的光转换成不同的RGB值,JavaScript版本

本文分享了使用JavaScript将光谱波长转换为RGBA颜色值的方法,详细介绍了代码实现过程,并提供了C++原版代码的转换参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS版本的光谱波长转换RGBA颜色值的方法,在网上没找到,后来领导发来一个C++版本的,我对照着改为JS版,有需要的朋友 可以参考,代码如下:

<html>
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"></head>
<body>
<div id="mainDiv"></div>
<script>
// 指定波长转换成RGBA颜色
function lambdaToColor(lambda, gamma, intensityMax) {
	if (typeof(gamma)=='undefined') {
		gamma = 0.8; // double
	}
	if (typeof(intensityMax)=='undefined') {
		intensityMax = 255.0; // double
	}
    var r, g, b, alpha; // double
    if (lambda >= 380.0 && lambda < 440.0) {
        r = -1.0 * (lambda - 440.0) / (440.0 - 380.0);
        g = 0.0;
        b = 1.0;
    }else if (lambda >= 440.0 && lambda < 490.0) {
        r = 0.0;
        g = (lambda - 440.0) / (490.0 - 440.0);
        b = 1.0;
    }else if (lambda >= 490.0 && lambda < 510.0) {
        r = 0.0;
        g = 1.0;
        b = -1.0 * (lambda 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值