PS的HSL控制算法是什么,请教高手

花熊 2012-01-30 10:13:24
我在网上搜到这些:Photoshop中HSL调节滤镜的原理。一个RGB格式的图片,通过HSL颜色格式,可以将图片的整体色调进行调节。比如我们要调节 Hue色调值,增加50。首先,取出每个点的RGB颜色值,转换为HSL,将得到的Hue值加上50,然后转换到RGB颜色,覆盖原来点的颜色。就这样,将所有的点都做一回合的互转,就能够将整个图片的色调进行调整。

所以做了一个DEMO测试,DEMO上三个滑块:H,S,L,H的范围:[-180, 180], S和L的范围[0, 200],
1.取得滑块三个值m_H,m_S, m_L
2.取出每个点的RGB颜色值,转换为HSL,为HSor,SSor, LSor
HSor += m_H;
SSor = (SSor*m_L/100.0f);
LSor = (LSor*m_S/100.0f);
<自己估计这里算法控制不对,求指点>
3.转换回RGB.

结果滑动渐变不对,求高手指点,
以下为自己的RGB和HSL转换代码

void RgbWithHsl_Hgy::RgbToHsl_Hgy(void)
{
double mn, mx;
int major;

if (red < green)
{
mn = red;
mx = green;
major = Green;
}
else
{
mn = green;
mx = red;
major = Red;
}

if (blue < mn)
{
mn = blue;
}
else if (blue > mx)
{
mx = blue;
major = Blue;
}

if (mn == mx)
{
lightness = mn/255;
saturation = 0;
hue = 0;
}
else
{
lightness = (mn+mx) / 510;

if (lightness <= 0.5)
{
saturation = (mx-mn) / (mn+mx);
}
else
{
saturation = (mx-mn) / (510-mn-mx);
}

switch (major)
{
case Red:
hue = (green-blue) * 60 / (mx-mn) + 360;
break;

case Green:
hue = (blue-red) * 60 / (mx-mn) + 120;
break;

case Blue : hue = (red-green) * 60 / (mx-mn) + 240;
break;
}

if (hue >= 360)
{
hue = hue - 360;
}
}
}

unsigned char Value(double m1, double m2, double h)
{
while (h >= 360)
{
h -= 360;
}
while (h < 0)
{
h += 360;
}

if (h < 60)
{
m1 = m1 + (m2 - m1) * h / 60;
}
else if (h < 180)
{
m1 = m2;
}
else if (h < 240)
{
m1 = m1 + (m2 - m1) * (240 - h) / 60;
}

return (unsigned char)(m1 * 255);
}

void RgbWithHsl_Hgy::HslToRgb_Hgy(void)
{
if (saturation == 0)
{
red = green = blue = (unsigned char) (lightness*255);
}
else
{
double m1, m2;

if (lightness <= 0.5)
{
m2 = lightness + lightness * saturation;
}
else
{
m2 = lightness + saturation - lightness * saturation;
}

m1 = 2 * lightness - m2;

red = Value(m1, m2, hue + 120);
green = Value(m1, m2, hue);
blue = Value(m1, m2, hue - 120);
}
}


越详细越好,谢谢。求高手.
...全文
398 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ringphone 2012-02-02
  • 打赏
  • 举报
回复
看这里
http://blog.csdn.net/ringphone/article/details/5191809
jixiang1983 2012-02-01
  • 打赏
  • 举报
回复
顶一下,接分了...
谁学逆向工程 2012-01-31
  • 打赏
  • 举报
回复
祝你好运
morrist1987 2012-01-31
  • 打赏
  • 举报
回复
楼主牛人!!多给点分吧。。
花熊 2012-01-31
  • 打赏
  • 举报
回复
自己解决了,网页故障,发了两次贴,杯具,散分
内容概要:本文基于Matlab/Simulink平台,对电励磁同步电机在异步牵入、稳态运行及能耗制动三个阶段的全周期动态特性进行建模仿真与系统研究。研究构建了完整的电机数学模型与仿真系统,重点分析了电机从异步启动到同步运行的过渡过程、稳态运行时的电磁与机械性能,以及执行能耗制动时的减速特性与能量耗散机理。通过仿真,揭示了励磁电流、负载转矩与转速在不同工况下的动态响应规律与耦合关系,为电机的控制策略设计与性能优化提供了理论依据和数据支持。; 适合人群:具备电机学、电力电子与电力拖动基础知识的电气工程及相关专业的研究生、科研人员与工程技术人员。; 使用场景及目标:①研究电励磁同步电机的启动特性,解决异步牵入过程不稳定或失败的问题;②分析电机在不同负载下的稳态运行性能,优化运行效率;③设计和验证能耗制动策略,精确控制制动过程的减速时间和能量消耗。; 阅读建议:在学习过程中,应结合电机的基本原理,深入理解仿真模型中各模块(如电机本体、励磁控制、负载模型)的搭建逻辑,并通过调整仿真参数(如励磁电压、负载大小)来观察和分析系统动态响应,以加深对电机全周期运行特性的理解。
内容概要:通过介绍短时倒谱(Cepstrogram)计算方法,开展时-倒频分析研究,深入探讨倒谱分析机理、短时倒谱构建逻辑及时-倒频分析的内涵。文中系统对比了时-倒频分析与全局倒谱、传统时频分析方法的差异,阐明其在卷积特征解耦、非平稳信号跟踪、微弱周期特征增强及多维特征融合方面的技术优势,并分析其在语音识别、机械故障诊断、音频处理和非平稳时序信号分析中的典型应用,同时指出其在分辨率、计算复杂度等方面的局限性并提出优化方向。; 适合人群:具备一定信号处理或数据分析基础,从事机械、通信、声学或自动化等领域研究的研发人员及研究生。; 使用场景及目标:① 掌握短时倒谱与时-倒频分析的理论基础与实现方法;② 应用于语音信号处理、机械设备故障诊断、音频相似性检测等工程实践;③ 对比传统方法,提升对复杂非平稳信号中隐含周期特征的识别能力; 阅读建议:此资源以Matlab代码实现为核心,强调理论与实践结合,建议读者在理解核心算法原理的基础上,动手运行代码并调试参数,结合具体应用场景深化对方法适用性与局限性的认识。
摘 要 在数字经济与保险行业深度融合的背景下,传统保险服务普遍存在流程繁琐、信息不对称、线下办理效率低、管理成本高、理赔不透明等问题,已难以适应用户便捷化服务需求与行业数字化发展趋势。推动保险业务线上化、服务智能化、管理平台化,成为提升保险服务质量与运营效率的关键路径。 本文以在线保险服务与管理平台为研究对象,依据软件工程规范,采用 Spring Boot + Vue.js 前后端分离架构,结合 MySQL 数据库完成系统设计与实现。平台面向普通用户与管理员两类角色,涵盖注册登录、保险产品展示、在线投保、智能核保、保单管理、理赔申请、消息通知、保险知识科普、后台管理及数据统计等核心功能,实现保险服务全流程线上化、投保便捷化、保单管理智能化、理赔过程透明化、后台运营高效化。 系统依次完成需求分析、总体设计、详细设计、功能实现与全面测试。测试结果表明,平台在功能完整性、接口响应性能、数据安全防护及多浏览器兼容性方面均达到设计目标,运行稳定可靠。该平台可有效改善传统保险服务痛点,提升用户体验与管理效率,可为保险行业数字化转型提供实用的工程实践参考。 关键词:在线保险;服务平台;Spring Boot;Vue.js;前后端分离;保险数字化

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧