顏色的RGB-計算HSV公式色度/飽和度/亮度 簡化代碼


計算顏色的HSV值


本文提供全流程,中文翻譯。

Chinar 堅持將簡單的生活方式,帶給世人!

(擁有更好的閱讀體驗 —— 高分辨率用戶請根據需求調整網頁縮放比例)


Chinar —— 心分享、心創新!

助力快速完成 Color HSV

為新手節省寶貴的時間,避免采坑!



全文高清圖片,點擊即可放大觀看 (很多人竟然不知道)


1

HSV —— 色彩模型


通過顏色的 RGB 值計算出對應的 HSV

H Hue 色度

S Saturation飽和度

V Value 純度
舉個栗子黑白88

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 賦值給新圖片
舉個栗子黑白88
這里寫圖片描述


支持

May Be —— 搞開發,總有一天要做的事!


擁有自己的服務器,無需再找攻略!

Chinar 提供一站式教程,閉眼式創建!

為新手節省寶貴時間,避免采坑!


先點擊領取 —— 阿里全產品優惠券 (享受最低優惠)


1 —— 雲服務器超全購買流程 (新手必備!)

2 —— 阿里ECS雲服務器自定義配置 - 購買教程(新手必備!)

3—— Windows 服務器配置、運行、建站一條龍 !

4 —— Linux 服務器配置、運行、建站一條龍 !





技術交流群:806091680 ! Chinar 歡迎你的加入


END

本博客為非營利性個人原創,除部分有明確署名的作品外,所刊登的所有作品的著作權均為本人所擁有,本人保留所有法定權利。違者必究

對於需要復制、轉載、鏈接和傳播博客文章或內容的,請及時和本博主進行聯系,留言,Email: ichinar@icloud.com

對於經本博主明確授權和許可使用文章及內容的,使用時請注明文章或內容出處並注明網址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM