如何在java中将文本添加到图像中?

Posted

技术标签:

【中文标题】如何在java中将文本添加到图像中?【英文标题】:How to add text to image in java? 【发布时间】:2013-07-21 11:08:00 【问题描述】:

我正在使用 Prime-faces。在这里,我需要使用 java 在图像底部添加动态文本。 即,我需要在图像上“书写”,并且需要将带有文本的图像保存在我想要的 PC 位置。

我试过这个:

public void writeToImage() throws MalformedURLException, IOException 
        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"));
    

我如何实现它?

【问题讨论】:

首先告诉我们更多信息,包括您可能使用的 GUI 库——Swing?安卓? SWT?还有什么?那么你有什么尝试,你在哪里卡住了?请向我们提供重要的详细信息,以便无需猜测即可回答您的问题。 “如何向小图像添加文本?​​” 与向大图像添加文本的方式相同,但更小(文本长度/字体大小更小)。为了尽快获得更好的帮助,请发帖SSCCE。 对不起。下次会做@Hovercraft Full Of Eels 好的。谢谢@AndrewThompson 考虑在这个时间仍然这样做如何。请编辑您的问题并添加信息。这是一个 Swing 应用程序吗? 【参考方案1】:

您可以使用 Graphics 对象在 BufferedImage 上绘图:

Graphics2D g = (Graphics2D) image.getGraphics();
g.drawString("hello", x, y);

【讨论】:

1) 不要忘记g.dispose() 2) 鉴于它是一个“小图像”,考虑到正在绘制的文本的FontMetricsGlyphVector 是值得的。

以上是关于如何在java中将文本添加到图像中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中将 actionlistener 添加到文本字段

如何在 Java 中将多个可拖动图像添加到 JFrame?

如何在 XCode 中将图像和文本放在相同的布局中

如何在java中将文本图像(计算机输入)转换为字符串[关闭]

如何在本机反应中将文本放置在图像上?

在java中将文本字段添加到图形