首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编程应用Paint.NET光度滤波器?

如何编程应用Paint.NET光度滤波器?
EN

Stack Overflow用户
提问于 2011-01-06 18:20:25
回答 1查看 540关注 0票数 0

我想在Paint.net中应用同样的光度过滤器

基本上,我想计算光度分量,并将其设置为零。以下是我迄今所做的尝试:

http://www.easyrgb.com/index.php?X=MATH

  • Set

  • 使用以下公式将RGB转换为XYZ到CIElab:光度(L)分量转换为零。
  • 转换回XYZ到RGB。

我在使用这种方法时遇到了很多问题。有时,当我转换回RGB时,有些组件超出了0-255的范围.而且,当我把曲线设置成y= 0的直线时,我没有得到确切的Paint.net光度效应。

Paint.net不是开源的。你能帮我理解一下它的作用吗?

谢谢。

P.S.:我用C#编程。

EN

回答 1

Stack Overflow用户

发布于 2011-01-12 19:08:46

我相信他们只是简单地从RGB值中添加/减去一个常量。

代码语言:javascript
运行
复制
R' = max( min(255, R+diff), 0);
G' = max( min(255, G+diff), 0);
B' = max( min(255, B+diff), 0);

不过,使用您提到的方法可能会产生更正确的结果。获取0-255范围以外的值是预期的,您必须处理它。你也可以考虑伽马校正在你的计算。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4618273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档