计算颜色的HSV值
本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)
Chinar —— 心分享、心创新!助力快速完成 Color 的 HSV值 为新手节省宝贵的时间,避免采坑!
1
HSV —— 色彩模型 2
Example —— 实例 支持
May Be —— 搞开发,总有一天要做的事!
全文高清图片,点击即可放大观看 (很多人竟然不知道)
1
HSV —— 色彩模型
通过颜色的 RGB 值计算出对应的 HSV
H : Hue 色度
S : Saturation饱和度
V : Value 纯度 ![举个栗子黑白88](https://img-blog.csdn.net/20180115013530535?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hpbmFyQ1NETg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
using UnityEngine;
using UnityEngine.UI;
///
/// 通过RGB —— HSV
///
public class ChinaCalculateColorHsv : MonoBehaviour
{
private Image TestImage; //测试图片,用来颜色取值
private Image TargetImage; //目标图片,用来将HSV转RGB,赋值
private float R;
private float G;
private float B;
private float H;
private float V;
private float S;
private float max;
private float min;
void Start()
{
TestImage = GameObject.Find("TestImageColor").GetComponent();
TargetImage = GameObject.Find("TargetImage").GetComponent();
}
public void CalculateColorHsv()
{
R = TestImage.color.r;
G = TestImage.color.g;
B = TestImage.color.b;
max = Mathf.Max(R, G, B);
min = Mathf.Min(R, G, B);
if (R == max)
{
H = (G - B) / (max - min);
}
if (G == max)
{
H = 2 + (B - R) / (max - min);
}
if (B == max)
{
H = 4 + (R - G) / (max - min);
}
H = (H / 6);
if (H < 0)
{
H = (H / 360 + 1);
}
S = (max - min) / max;
V = (Mathf.Max(R, G, B));
print((H));
print((S));
print((V));
TargetImage.color = Color.HSVToRGB(H, S, V);
}
}
2
Example —— 实例
这里以 Unity 来举个例子
取一个图片的颜色 RGB ,得到 HSV
然后通过内置函数 Color.HSVToRGB(H, S, V) 将 HSV 转为 Color 赋值给新图片 ![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/8b835df80f3d217ecb96d639a832ebc7.gif)
支持
May Be —— 搞开发,总有一天要做的事!
拥有自己的服务器,无需再找攻略! Chinar 提供一站式教程,闭眼式创建!为新手节省宝贵时间,避免采坑!
先点击领取 —— 阿里全产品优惠券 (享受最低优惠) 1 —— 云服务器超全购买流程 (新手必备!) 2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!) 3—— Windows 服务器配置、运行、建站一条龙 ! 4 —— Linux 服务器配置、运行、建站一条龙 !
技术交流群:806091680 ! Chinar 欢迎你的加入
END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究 对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: [email protected] 对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址
|