做了個小東西,通過像素點檢測顏色。剛開始用的 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 讀取像素從左上角一行一行往下讀。
也怪自己基礎知識不紮實,長下記性。