Прямо сейчас моя цель - иметь сглаженный текст на моих ярлыках. Если мои исследования были правильными, SWT Labels не поддерживают антиалиасинг в тексте, поэтому моя текущая попытка обхода - создать изображение, включить сглаживание текста, нарисовать текст на этом изображении, а затем придать этому изображению метку ,Почему не работает текстовое сглаживание, используя SWT GC для рисования текста?
Мой текущий код изображения рисунок выглядит следующим образом:
Image image = new Image(Display.getDefault(), width, height);
GC gc = new GC(image);
gc.setAntialias(SWT.ON);
gc.setTextAntialias(SWT.ON);
gc.setBackground(background);
gc.fillRectangle(0, 0, width, height);
gc.setFont(font);
gc.setForeground(foreground);
int yPos = offset.y;
for (String rawLine : lines)
{
String line = rawLine.trim();
Point lineSize = gc.textExtent(line);
int xPos = offset.x;
switch (alignment)
{
case SWT.RIGHT:
xPos += width - lineSize.x;
break;
case SWT.CENTER:
xPos += width/2 - lineSize.x/2;
break;
case SWT.LEFT:
default:
xPos += 0;
}
gc.drawText(line, xPos, yPos, true);
yPos += lineSize.y;
}
gc.dispose();
return image;
У меня были противоречивые результаты на двух разных компьютерах: На работе, текст в полученных изображений выглядит рывками, как Вечно, как будто текст анти -Алисации даже не было. Но дома, подключенного к моему рабочему компьютеру через удаленный рабочий стол, я видел именно те результаты, которые я хотел.
Очевидно, что мне бы хотелось, чтобы на обоих компьютерах все правильно работало, но в настоящее время я в тупике, почему они не являются. На каждом компьютере работает Windows 7, Eclipse v3.6.
В чем может быть проблема, вызывающая эту несогласованность? И если мое обходное решение просто абсурдно, и я полностью пропустил более простой способ, что это такое? Спасибо за любую помощь!
Может быть, две машины пытаются Сглаживание разные шрифты? – MusiGenesis
Они должны использовать шрифт «Тахома». – Dylan
Я предполагаю, что это связано с различиями между видеокартами на двух машинах. SWT использует собственные средства ОС, которые включают в себя любые аппаратные средства, используемые ОС. Поэтому я по возможности посмотрю на замену графической карты на работу. Возможно, даже посмотрите на уровни патчей каждой машины, хотя оба используют Windows 7. –