2010-09-06 32 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