[TOC]
## class pygame.Color
Pygame 中用于描述顏色的對象。
Color(name) -> Color
Color(r, g, b, a) -> Color
Color(rgbvalue) -> Color
## 方法 & 屬性
* pygame.Color.r — 獲取或設置 Color 對象的紅色值
* pygame.Color.g — 獲取或設置 Color 對象的綠色值
* pygame.Color.b — 獲取或設置 Color 對象的藍色值
* pygame.Color.a — 獲取或設置 Color 對象的 alpha 值
* pygame.Color.cmy — 獲取或設置 Color 對象表示的 CMY 值
* pygame.Color.hsva — 獲取或設置 Color 對象表示的 HSVA 值
* pygame.Color.hsla — 獲取或設置 Color 對象表示的 HSLA 值
* pygame.Color.i1i2i3 — 獲取或設置 Color 對象表示的 I1I2I3 值
* pygame.Color.normalize() — 返回 Color 對象的標準化 RGBA 值
* pygame.Color.correct_gamma() — 應用一定的伽馬值調整 Color 對象
* pygame.Color.set_length() — 設置 Color 對象的長度(成員數量)
Pygame 使用 Color 類表示 RGBA 顏色值,每個顏色值的取值范圍是 0 ~ 255。允許通過基本的算術運算創造新的顏色值,支持轉換為其他顏色空間,例如 HSV 或 HSL,并讓你調整單個顏色通道。當沒有給出 alpha 的值是,默認是 255(不透明)。
“RGB值”可以是一個顏色名,一個 HTML 顏色格式的字符串,一個 16 進制數的字符串,或者一個整型像素值。HTML 格式是 "#rrggbbaa",其中 "rr","gg","bb","aa" 都是 2 位的 16 進制數。代表 alpha 的 "aa" 是可選的。16 進制數的字符串組成形式為 "0xrrggbbaa",當然,其中的 "aa" 也是可選的。
Pygame 1.9.0 之后,顏色對象支持與其他顏色對象進行等值比較(3 或 4 整型元組)。
在 Pygame 1.8.1 中有一個 bug,就是 alpha 的默認值被設置為 0,而不是 255。
Color 對象采用 C 級別的接口輸出。輸出為只讀的一維無符號字節數組,分配與 color 對象相同的長度。對于 CPython 2.6 以后的版本,新的緩沖區接口(與數組接口具有相同的特性)也會被輸出。Pygame 1.9.2 新增加的。
Color 的新實現在 Pygame 1.8.1 中完成。
## 方法 & 屬性詳解
### r
獲取或設置 Color 對象的紅色值。
r -> int
Color 對象的紅色值。
### g
獲取或設置 Color 對象的綠色值。
g -> int
Color 對象的綠色值。
### b
獲取或設置 Color 對象的藍色值。
b -> int
Color 對象的藍色值。
### a
獲取或設置 Color 對象的 alpha 值。
a -> int
Color 對象的 alpha 值。
### cmy
獲取或設置 Color 對象表示的 CMY 值。
cmy -> tuple
Color 對象表示的 CMY 值。CMY 每個分量的范圍是 C = [0, 1],M = [0, 1],Y = [0, 1]。
注意:由于 RGB 值應設為 0 ~ 255,而 CMY 值為 0 ~ 1,因此無法絕對準確地返回所有 RGB 值對應的 CMY 值,會有少許偏差。
溫馨提示:CMY 是青(Cyan)、洋紅或品紅(Magenta)和黃(Yellow)三種顏色的簡寫,是相減混色模式,用這種方法產生的顏色之所以稱為相減色,乃是因為它減少了為視覺系統識別顏色所需要的反射光。由于彩色墨水和顏料的化學特性,用三種基本色得到的黑色不是純黑色,因此在印刷術中,常常加一種真正的黑色(black ink),這種模型稱為 CMYK 模型,廣泛應用于印刷術。每種顏色分量的取值范圍為0~100;CMY常用于紙張彩色打印方面。
### hsva
獲取或設置 Color 對象表示的 HSVA 值。
hsva -> tuple
Color 對象表示的 HSVA 值。HSVA 每個分量的范圍是 H = [0, 360],S = [0, 100],V = [0, 100],A = [0, 100]。
注意:由于 RGB 值應設為 0 ~ 255,而 HSV 值為 0 ~ 100 和 0 ~ 360,因此無法絕對準確地返回所有 RGB 值對應的 HSV 值,會有少許偏差。
溫馨提示:HSV 色彩模型中顏色的參數分別是:色調(H),飽和度(S),亮度(V)。RGB 和 CMY 顏色模型都是面向硬件的,而 HSV(Hue Saturation Value)顏色模型是面向用戶的。HSV 模型的三維表示從 RGB 立方體演化而來。設想從 RGB 沿立方體對角線的白色頂點向黑色頂點觀察,就可以看到立方體的六邊形外形。六邊形邊界表示色彩,水平軸表示純度,明度沿垂直軸測量。

### hsla
獲取或設置 Color 對象表示的 HSLA 值。
hsla -> tuple
Color 對象表示的 HSLA 值。HSLA 每個分量的范圍是 H = [0, 360],S = [0, 1],L = [0, 1],A = [0, 1]。
注意:由于 RGB 值應設為 0 ~ 255,而 HSL 值為 0 ~ 1 和 0 ~ 360,因此無法絕對準確地返回所有 RGB 值對應的 HSL 值,會有少許偏差。
溫馨提示:HSL 色彩模型是工業界的一種顏色標準,是通過對色相(H)、飽和度(S)、明度(L)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,HSL 即是代表色相,飽和度,明度三個通道的顏色,這個標準幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的顏色系統之一。
### i1i2i3
獲取或設置 Color 對象表示的 I1I2I3 值。
Color 對象表示的 I1I2I3 值。I1I2I3 每個分量的范圍是 I1 = [0, 1],I2 = [-0.5, 0.5],I3 = [-0.5, 0.5]。
注意:由于 RGB 值應設為 0 ~ 255,而 I1I2I3 值為 0 ~ 1 和 -0.5 ~ 0.5,因此無法絕對準確地返回所有 RGB 值對應的 I1I2I3 值,會有少許偏差。
溫馨提示:I1I2I3 是與 RGB 類似的顏色空間,轉化公式為:I1 = (R + G + B) / 3,I2 = (G - B) / 2,I3 = (2G - R - B) / 4。
### normalize()
返回 Color 對象的標準化 RGBA 值。
normalize() -> tuple
返回 Color 對象的標準化 RGBA 值。每個分量的值是浮點數表示。
溫馨提示:但這里每個分量的值不是整數范圍 0 ~ 255,而是轉化為浮點數范圍 0 ~ 1。
### correct_gamma()
應用一定的伽馬值調整 Color 對象。
correct_gamma (gamma) -> Color
應用一定的伽馬值調整 Color 對象,并返回調整后的 RGBA 值。
### set_length()
設置 Color 對象的長度(成員數量)。
set_length(len) -> None
默認值是 4,它可以被設置為 1,2,3 或 4。這對于解壓為 r,g,b 而不是 r,g,b,a 很有用。如果你希望得到一個 Color 對象的長度,你可以使用 len(color) 獲得。
溫馨提示:color.set_length(2) 它只是修改了 __len__(),而不是真的把其中兩個成員扔掉……
- 一、Python基礎
- 1. 序言
- 1.1 Python簡介
- 1.2 安裝和使用IDE
- 1.3 語言特性和基礎概念
- 2. 基本數據類型
- 2.2 字符串型
- 2.2.2 ASCII簡介
- 2.2.4 字符串常用函數
- 3. 條件分支
- 3.3 閑聊條件判斷和運算符優先級
- 10.正則表達式
- 【降龍十八章】Python小技巧
- 18.1 學習網址
- 18.2 PIP切換源
- 18.3 使用whl來安裝
- 【工具優化】IDE優化技巧
- Anaconda
- Jupyter Notebook 的 Markdown 添加大綱
- Jupyter Notebook中圖片縮放和居左
- Anaconda設置環境變量
- Pycharm
- PyCharm新建文檔配置
- 設置字體和字號
- 設置主題和字體配色
- 保存和導入配置
- 設置對選擇內容自動添加引號
- 推薦安裝的插件
- Markdown
- 表格格式
- 二、Python進階
- copy和deepcopy
- 《零基礎入門學習 Python 》【小甲魚版】
- 001.和Python的第一次接觸+習題復習
- 002.用Python設計的第一個游戲 +習題復習
- Pygame詳解
- Pygame詳解:前言
- Pygame詳解(一):Color類
- Pygame詳解(二):display 模塊
- Pygame詳解(三):draw 模塊
- Pygame詳解(四):event 模塊
- Pygame詳解(五):font 模塊
- Pygame詳解(六):image 模塊
- Pygame詳解(七):key 模塊
- Pygame詳解(八):locals 模塊
- Pygame詳解(九):mixer 模塊
- Pygame詳解(十):mouse 模塊
- Pygame詳解(十一):Rect 對象
- Pygame詳解(十二):Surface 對象
- Pygame詳解(十三):time 模塊
- Pygame詳解(十四):music 模塊
- Pygame詳解(十五):pygame 模塊
- Pygame詳解(十六):cursors 模塊
- Pygame詳解(十七):joystick 模塊
- Pygame詳解(十八):mask 模塊
- Pygame詳解(二十一):BufferProxy 對象
- Pygame詳解(二十三):gfxdraw 模塊
- Pygame詳解(二十五):Overlay 對象
- Pygame詳解(二十八):sndarray 模塊
- Pygame詳解(三十一):camera 模塊
- Pygame詳解(三十二):cdrom 模塊
- Pygame詳解(三十六):version 模塊
- pygame rect相關知識
- Tkinter詳解
- Tkinter 組件詳解(一):Label
- Tkinter 組件詳解(二):Button