Chinar 堅持將簡單的生活方式,帶給世人! (擁有更好的閱讀體驗 —— 高分辨率用戶請根據需求調整網頁縮放比例) |
助力快速完成 Color 的 HSV值 為新手節省寶貴的時間,避免采坑! |
1
HSV —— 色彩模型
通過顏色的 RGB 值計算出對應的 HSV
H : Hue 色度
S : Saturation飽和度
V : Value 純度
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 通過RGB —— HSV
/// </summary>
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<Image>();
TargetImage = GameObject.Find("TargetImage").GetComponent<Image>();
}
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 賦值給新圖片
支持
May Be —— 搞開發,總有一天要做的事!
Chinar 提供一站式教程,閉眼式創建! 為新手節省寶貴時間,避免采坑! |
先點擊領取 —— 阿里全產品優惠券 (享受最低優惠)
1 —— 雲服務器超全購買流程 (新手必備!)
2 —— 阿里ECS雲服務器自定義配置 - 購買教程(新手必備!)
3—— Windows 服務器配置、運行、建站一條龍 !
4 —— Linux 服務器配置、運行、建站一條龍 !

技術交流群:806091680 ! Chinar 歡迎你的加入
本博客為非營利性個人原創,除部分有明確署名的作品外,所刊登的所有作品的著作權均為本人所擁有,本人保留所有法定權利。違者必究
對於需要復制、轉載、鏈接和傳播博客文章或內容的,請及時和本博主進行聯系,留言,Email: ichinar@icloud.com
對於經本博主明確授權和許可使用文章及內容的,使用時請注明文章或內容出處並注明網址