2010-09-06 67 views
1

我正在使用以下代碼在PaintListener中繪製縮放圖像。如何在SWT中以灰色繪製圖像

e.gc.drawImage(image, 
    0, 0, w, h, 
    0, 0, scaledWidth, scaledHeight 
); 

我想繪製灰色的圖像。

可以做些什麼呢? drawImage是否支持某些特殊參數,或者我應該更好地準備並將原始圖像轉換爲灰色。

回答

0

我需要它要麼轉換爲灰色顯示/禁用使用Image類:

greyed = new Image(e.display, image, SWT.IMAGE_GRAY); 

e.gc.drawImage(greyed, 
    0, 0, w, h, 
    0, 0, scaledWidth, scaledHeight 
); 

SWT.IMAGE_DISABLE也可以用來代替SWT.IMAGE_GRAY

0

在繪製之前,您應先將其轉換爲灰色版本。 GraphicsContext只是繪製你想要繪製的內容。

+0

感謝的,所以詳細的解決方案如何做到這一點在我回答。 – Vladimir 2010-09-06 10:12:34

+0

@Vladmir:很好的傢伙.. – bragboy 2010-09-06 11:36:37