使用Graphics2D绘图结果如下:
文字周边非常模糊。想要效果是:
请问如何使用java实现这种清晰的绘制文字的效果呢?
更新
代码如下:
public static void pressText(String targetImg, String pressText, String fontName, int fontStyle, int fontSize, Color color) {
try {
File file = new File(targetImg);
Image image = ImageIO.read(file);
int width = image.getWidth(null);
int height = image.getHeight(null);
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bufferedImage.createGraphics();
g.setFont(new Font(fontName, fontStyle, fontSize));
g.drawImage(image, 0, 0, width, height, null);
g.setColor(color);
g.drawString(pressText, 50, 100);
g.dispose();
ImageIO.write(bufferedImage, "jpg", file);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
pressText("e://test//test1.jpg", "测试", "华文细黑", Font.PLAIN, 30, Color.RED);
}