Witam.
Szukam jakiegoś sposobu na ulepszenie wygładzania czcionek w Javie. Piszę sobie edytor tekstowy. Główne pole tekstowe to kontrolka JTextPane.
Dla porównania obrazek:
Po lewej stronie zrzut z mojego programu. Po prawej Adobe Story w którym (tak jak w innych Flashowych aplikacjach) jest o wiele lepsze wygładzanie, dzięki czemu nawet czcionki w większych rozmiarach wyglądają super, żadnej pikselozy. Chciałbym coś takiego osiągnąć w Javie.
Znalazłem w internecie taki fragment kodu i wrzuciłem go do swojego kodu programu:
@Override
public void paint(Graphics g)
{
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2.setRenderingHint((RenderingHints.KEY_RENDERING), RenderingHints.VALUE_RENDER_SPEED);
super.paint(g2);
}
Niestety to nie rozwiązuje mojego problemu (a może nie wiem jak tego używać) a próbowałem zmieniać wartości na inne dostępne. W każdym razie, gdy wtedy skompiluję program JTextPane jest niewidoczne, muszę zaznaczyć tekst żeby znowu pole tekstowe było widoczne. Czyli coś jednak chce działać, ale nie do końca bo lepszego wygładzania nie widzę.
Znacie może jakiś sprawdzony sposób?
I tak na marginesie: czy łatwiej osiągnąć takie efekty w C# w kontrolce RichTextBox?