59

我需要向现有的表格图像 (png) 添加一些文本。这意味着我需要在图像上“写”并且我需要选择文本位置的选项。我该怎么做?

4

1 回答 1

127

这很简单,只需Graphics从图像中获取对象并将字符串绘制到图像上即可。这个例子(和输出图像)正在这样做:

public static void main(String[] args) throws Exception {
    final BufferedImage image = ImageIO.read(new URL(
        "http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png"));

    Graphics g = image.getGraphics();
    g.setFont(g.getFont().deriveFont(30f));
    g.drawString("Hello World!", 100, 100);
    g.dispose();

    ImageIO.write(image, "png", new File("test.png"));
}

输出(test.png):

输出

于 2012-06-07T09:57:44.013 回答