RenderingHints
類定義了多種着色微調,它們存儲在一個映射集的 Graphics2D
對象裏。setRenderingHint()
方法的參數是一個鍵以及對應的鍵值。在我們的代碼中,第一個參數是代表 alpha 合成微調的鍵,第二個參數是該微調的值。該微調的其它可能的值有 VALUE_ALPHA_INTERPOLATION_DEFAULT
,代表平臺缺省值;以及 VALUE_ALPHA_INTERPOLATION_SPEED
,代表追求速度而不是質量。
您還可以爲下面的鍵提供微調:
鍵 | 描述 |
KEY_ANTIALIASING | 決定是否使用抗鋸齒。當着色有傾斜角度的線時,通常會得到一組階梯式的像素排列,使這條線看上去不平滑,經常被稱爲 鋸齒狀圖形。抗鋸齒是一種技術,它設置有傾斜角度的線的像素亮度,以使線看起來更平滑。因此,這個微調是用來決定在着色有傾斜角度的線時是否在減少鋸齒狀圖形上花費時間。可能的值有 VALUE_ANTIALIAS_ON, _OFF 或 _DEFAULT 。 |
KEY_COLOR_RENDERING | 控制顏色着色的方式。可能的值有 VALUE_COLOR_RENDER_SPEED, _QUALITY 或 _DEFAULT 。 |
KEY_DITHERING | 控制如何處理抖動。抖動是用一組有限的顏色合成出一個更大範圍的顏色的過程,方法是給相鄰像素着色以產生不在該組顏色中的新的顏色幻覺。可能的值有 VALUE_DITHER_ENABLE, _DISABLE 或 _DEFAULT 。 |
KEY_FRACTIONALMETRICS | 控制顯示文本的質量。可能的值有 VALUE_FRACTIONALMETRICS_ON, _OFF 或 _DEFAULT 。 |
KEY_INTERPOLATION | 確定怎樣做內插。 在對一個源圖像做變形時,變形後的像素很少能夠恰好對應目標像素位置。在這種情況下,每個變形後的像素的顏色值不得不由周圍的像素決定。 內插就是實現上述過程。有許多可用的技術。可能的值,按處理時間從最多到最少,是 VALUE_INTERPOLATION_BICUBIC, _BILINEAR 或 _NEAREST_NEIGHBOR 。 |
KEY_RENDERING | 確定着色技術,在速度和質量之間進行權衡。可能的值有 VALUE_RENDERING_SPEED, _QUALITY 或 _DEFAULT 。 |
KEY_TEXT_ANTIALIASING | 確定對文本着色時是否抗鋸齒。可能的值有 VALUE_TEXT_ANTIALIASING_ON, _OFF 或 _DEFAULT 。 |
我們繞得已經夠遠了。讓我們回到繪製 sprite
上……