0
A
回答
1
我建议将RGB(红绿蓝)颜色转换为HSB/HSV(色相饱和度亮度/色调饱和度)颜色。然后,您可以通过更改色相值来移动颜色。保持饱和度和数值(亮度)并将其转换回RGB。
你可以得到的H,S,V值是这样的:
Color color = Color.FromArgb(red, green, blue);
float h = color.GetHue();
float s = color.GetSaturation();
float v = color.GetBrightness();
没有为逆转变没有内置的方式。你可以在这里找到一个C#的例子:Converting HSV to RGB colour using C#。此外,如果图像具有透明部分,请不要忘记复制包含透明度信息的alpha分量。
色相以度为单位,范围从0.0F通过360.0f,所以将改变这样的色相:
float delta = 120f; // Arbitrary value in the range 0.0f through 360.0f
h = (h + delta) % 360f;
参见:HSL and HSV
用C#实例另一个优秀文章:Manipulating colors in .NET - Part 1
相关问题
- 1. 清除方案中的所有数据,保持结构完好
- 2. 解压后如何压缩整个目录保持其结构?
- 3. 只使用C结构并保持OOPy?
- 4. 使用斜堆在C持有结构
- 5. 如何在C++类中包装C结构并保持相同的名称?
- 6. 结构在C,其成员也结构
- 7. Unix递归移动所有文件但保持结构
- 8. 删除所有文件,同时保持目录结构
- 9. Ramda:如何保持原有的结构,过滤功能
- 10. 如何在c#中缩短路径并保持其有效
- 11. 如何给参考资盒装结构来所拥有的其他结构
- 12. C - 如何在文件中存在结构体的情况下保持数组
- 13. 如何获取所有列的所有不同值,但保持原始表结构?
- 14. 保存结构在C
- 15. 如何更新表格,使其结构保持不变,但所有数据都被修改?
- 16. 如何保持网站在不同屏幕上的结构?
- 17. 如何在C(不是C++)的结构中保存const值?
- 18. 结构的帮助。指定卡结构在甲板结构保持
- 19. 保持目录结构在Xcode
- 20. 如何去掉几个旧的提交,但保持所有其他提交在git中保持不变?
- 21. 如何保持在ToolStripControlHost的所有者焦点在ToolStrip的
- 22. C如何基于结构的结构
- 23. 如何使Matlab结构在创建后保持不变?
- 24. 保持SSRS表的结构通用
- 25. 如何让窗户保持在所有其他窗口(“最底层”)
- 26. 如何保持双的精度在C++
- 27. 如何保持其在动作条
- 28. 如何有效地过滤保留其现有结构的树视图?
- 29. 程序集是否保持其目录结构?
- 30. 如何使用所有媒体保存公共html页面并保留结构
你可能想看看ColorMatrix。 – TaW