2011-10-22 70 views
1

我們提供用戶選項以使畫布上的圖形透明。爲了實現這一點,我們使用方法setAlpha(0)。但是這使得數字完全不可見。Eclipse RCP Draw2d透明度(setAlpha)使邊框/輪廓不可見

我們的要求是,如果用戶希望有邊框,則應在透明數字上顯示大綱/邊框。

我們嘗試使用方法setOpaque(false)。但它不起作用。 我們使用Ubuntu 9.1操作系統。

任何建議,以實現這一點將是非常有益的。

問候, 潘卡·夏爾馬

回答

0

setAlpha被應用到全數字,這就是爲什麼它不爲你工作。你應該做的是在另一個內部創建兩個數字,並只改變內部數字的阿爾法。我想不出另一種方式去做。 好運

1

你可以擴展Shape您使用的是這樣的:

public class TranslucentRoundedRectangle extends RoundedRectangle 
{ 
    @Override 
    protected void fillShape(Graphics graphics) 
    { 
    int oldAlpha = graphics.getAlpha(); 

    graphics.setAlpha(128); 
    super.fillShape(graphics); 
    graphics.setAlpha(oldAlpha); 
    } 
} 

這種方式,你可以設置填充獨立輪廓的Alpha值。