searching harmonious colors for current color(为当前颜色寻找和谐的颜色)
问题描述
我有一种颜色:祸不单行(#aeeb12)或rgb(1742318)。 我需要为这个颜色找两个相似的颜色。 有没有什么数学公式可以编程来做呢? 图片如下:
推荐答案
根据您在评论中提供的站点(sessions.edu/color-culator) 您对颜色使用的是类似图案:当您转换RGB颜色HSB/HSV表示法时,我将您重定向到此站点以了解此系统表示颜色的方式http://colorizer.org/。 相似颜色是一个三和弦:Left One MainOne Right One 在HSB表示中,我这样定义主要的一个:[h,S,B]
- H色调是度角度
- S饱和度在0和1之间浮动
- B亮度/值在0和1之间浮动
在Java中,如果您使用的是java.awt.color API,则色调是浮点值(介于0和1之间),因此只需将角度除以360.
下面是如何在Java中获得此结果的代码片段:
double anglerotation = 1d / 12; // 30 /360
Color mainColor = new Color(174, 235, 18);
float[] hsbLeftColor = Color.RGBtoHSB(mainColor.getRed(), mainColor.getGreen(), mainColor.getBlue(), null);
hsbLeftColor[0] -= anglerotation;
Color leftColor = new Color(Color.HSBtoRGB(hsbLeftColor[0], hsbLeftColor[1], hsbLeftColor[2]));
float[] hsbRightColor = Color.RGBtoHSB(mainColor.getRed(), mainColor.getGreen(), mainColor.getBlue(), null);
hsbRightColor[0] += anglerotation;
Color rightColor = new Color(Color.HSBtoRGB(hsbRightColor[0], hsbRightColor[1], hsbRightColor[2]));
这篇关于为当前颜色寻找和谐的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为当前颜色寻找和谐的颜色
基础教程推荐
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01