Как получить Java g.drawString () высокого разрешения? - PullRequest
2 голосов
/ 21 апреля 2011

У меня есть фоновые шаблоны, где Java-программа должна писать динамические тексты,

BufferedImage image = ImageIO.read(new File("background.jpg"));
Graphics g = image.createGraphics();

g.setFont(new Font("DejaVu Sans",Font.PLAIN,18));
g.drawString("Hello,World!",10,10);

Когда я пишу таким образом, у меня возникают проблемы с разрешением текста, написанного Java.

Как написать текст высокого разрешения на изображении с помощью Java?

ОБНОВЛЕНИЕ: Вот пример с сглаживанием. enter image description here

g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

1 Ответ

3 голосов
/ 21 апреля 2011

Проблема не в рисовании текста, а в последующем сохранении файла: если вы используете сжатие JPEG, вы получите артефактов сжатия , особенно вокруг острых углов, таких как ваш текст.

Реального пути к этому нет, если не использовать JPG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...