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
上……