2010-09-06 4 views
1

Я использую следующий код для рисования масштабированного изображения в PaintListener.Как нарисовать изображение серым цветом в SWT

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

Я хочу нарисовать изображение в сером цвете.

Что можно сделать для этого? Does 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

Перед тем, как нарисовать его, вы должны сначала преобразовать его в версию Greyed. GraphicsContext просто рисует то, что вы хотите, чтобы рисовать.

+0

спасибо, поэтому подробное решение, как сделать это в моем ответ. – Vladimir

+0

@Vladmir: Хороший чувак .. – bragboy