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

計算顏色的HSV值


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

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

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


Chinar —— 心分享、心創新!

助力快速完成 Color 的 HSV值

爲新手節省寶貴的時間,避免採坑!



全文高清圖片,點擊便可放大觀看 (不少人居然不知道)


1

HSV —— 色彩模型


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

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 來舉個例子spa

取一個圖片的顏色 RGB ,獲得 HSV .net

而後經過內置函數 Color.HSVToRGB(H, S, V) 將 HSV 轉爲 Color 賦值給新圖片
舉個栗子黑白88
這裏寫圖片描述翻譯


支持

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


擁有本身的服務器,無需再找攻略!

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

爲新手節省寶貴時間,避免採坑!


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


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

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

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

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





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


END

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

對於須要複製、轉載、連接和傳播博客文章或內容的,請及時和本博主進行聯繫,留言,Email: ichinar@icloud.com

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

相關文章
相關標籤/搜索