System.Drawing.Color 和 UnityEngine.Color

做了個小東西,通過像素點檢測顏色。剛開始用的 Unity ,用的是 Texture2D,其中操作像素直接用

Texture2D.GetPixel 獲取像素,返回類型爲 UnityEngine.Color,Color 中的 rgb 值範圍都是 0-1,轉化成 0-255 範圍的顏色值,需要將獲得的 rgb 乘以 255。

後面需要對接就轉到 C# 中,操作像素就用了 System.Drawing.Image 以及 System.Drawing.Bitmap 類,其中操作像素用

Bitmap.GetPixel 獲取像素,返回類型爲 System.Drawing.Color,Color 中的 rgb 值範圍就是 0-255,類型爲 byte 類型(byte 類型範圍爲 0-255)。

rgb 和 hsv 和 hsl 顏色模型之間的轉換可以參考下面鏈接。

https://gameinstitute.qq.com/community/detail/126006

恩,被坑了半天的一個知識點,記錄一下:

Texture2D 讀取像素點是從左下角開始一行一行往上讀,而 Bitmap 讀取像素從左上角一行一行往下讀。

也怪自己基礎知識不紮實,長下記性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章