Я пишу текст поверх существующего изображения, и шрифт не очень четкий. Есть ли какие-либо настройки в классах Graphics2D или Font, которые помогают сделать шрифты более привлекательными при написании текста поверх изображений? Шрифт Dante не выходит как Dante, когда я пишу его. Я пытался использовать сглаживание, но это не имело никакого эффекта (см. SetRenderingHint). Изображения получались одинаковыми с или без набора RenderingHint. Какие-либо предложения?
public class ImageCreator{
public void createImage(String text){
Graphics2D g = img.createGraphics(); //img is a BufferedImage read in from file system
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Font fnt=new Font("Dante",1,20);
Color fntC = new Color(4, 4, 109);
g.setColor(fntC);
g.setFont(fnt);
Dimension d = new Dimension(200, 113);
drawCenteredString(text, d.width, d.height, g);
}
public static void drawCenteredString(String s, int w, int h, Graphics g) {
FontMetrics fm = g.getFontMetrics();
int x = (w - fm.stringWidth(s)) / 2;
int y = (fm.getAscent() + (h - (fm.getAscent() + fm.getDescent())) / 2);
g.drawString(s, x, y);
}
}