c# - 使用 C# 更改位图的 HSL 值

标签 c# bitmap hsl

我想知道如何使用 C# 更改位图的 HSL 值。 必须能够加载位图并在每个像素上更改它的 HSL 值。

最佳答案

您必须查看每个像素的 RGB,将其转换为 HSL,修改 HSL 值,转换回 RGB 并将新像素数据写入位图。不幸的是,System.Drawing 没有内置的 HSL 到 RGB 功能(尽管 RGB 到 HSL 确实存在)。

查看以下代码项目文章,了解可以进行两种方式 RGB/HSL 转换的类:http://www.codeproject.com/KB/recipes/colorspace1.aspx

关于c# - 使用 C# 更改位图的 HSL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6694103/

相关文章:

c# - linq min 问题/bug

c# - 为什么不直接在 Equals() 中使用对象属性呢?

c# - 无法在位图中设置调色板

c++ - 将 unsigned char * 数组可视化为位图

colors - 色彩理论 : How to convert Munsell HVC to RGB/HSB/HSL

three.js - WebGL:更改片段着色器中的颜色饱和度或亮度

c# - C#中的内存异常

c# - 如何获得窗口的位置?

java - 为什么 RGBA 位图需要 3x3 数组来存储 1 个像素,如何避免这种情况?

html - 为什么 HSL 值不是人们所期望的?