0
我想在Graphics2D上繪製一個圖形,如果它與某個範圍相交,則將它的一部分着色。我設法通過使用AlphaComposite和AlphaComposite.SRC_IN將2個形狀繪製到BufferedImage(原始形狀和會導致顏色變化的區域)中來實現。問題是,如果畫布滾動,每次調用paint方法時屏幕都會變得遲緩,從而創建緩衝圖像。沒有緩衝圖像的Alphablending
是否有任何方法在不使用緩衝圖像對象的情況下達到相同效果(2個形狀重疊,只有第2個形狀的重疊區域着色)?
乾杯, 最大
好的,讓我再澄清一點。我想要顯示的形狀是一個圖形。圖形填充爲藍色。只要圖形高於某個值,就應該用紅色標出。我想首先繪製圖形,並用一個矩形覆蓋它,該矩形表示圖形填充區域變爲紅色的區域。每次移動滾動條時都調用paint方法。 – Max
我看不出你在評論中說了些什麼,阻止了你實施Maurice的賢哲建議,達不到效果......「緩存'BufferedImage'實例,在需要時更改它們。」 –
爲什麼你不畫一個矩形而不是創建一個bufferedimage? –