当前位置: 首页 > 面试题库 >

如何使用Java加载图像并向其中写入文本?

朱渝
2023-03-14
问题内容

我在Java项目中的images / image.png中有一个图像。我想写一个方法,其签名如下

byte[] mergeImageAndText(String imageFilePath, String text, Point textPosition);

方法将加载要写入的图像imageFilePath及其位置textPosition(左上角)处的图像text,然后返回一个byte
[],该字节表示与文本合并的新图像。


问题答案:

尝试这种方式:

import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;

public class ImagingTest {

    public static void main(String[] args) throws IOException {
        String url = "http://icomix.eu/gr/images/non-batman-t-shirt-gross.jpg";
        String text = "Hello Java Imaging!";
        byte[] b = mergeImageAndText(url, text, new Point(200, 200));
        FileOutputStream fos = new FileOutputStream("so2.png");
        fos.write(b);
        fos.close();
    }

    public static byte[] mergeImageAndText(String imageFilePath,
            String text, Point textPosition) throws IOException {
        BufferedImage im = ImageIO.read(new URL(imageFilePath));
        Graphics2D g2 = im.createGraphics();
        g2.drawString(text, textPosition.x, textPosition.y);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageIO.write(im, "png", baos);
        return baos.toByteArray();
    }
}


 类似资料:
  • 我是flutter的新手,上周才开始。我正在从在线课程中学习,然后我想在我的flutter应用程序中加载一个图像。但有一个错误是:

  • 问题内容: 我是JS新手,希望这个问题看起来不太愚蠢。 我在我的网站上使用砖石结构- 效果很好。我想让我的盒子在砌筑完成时出现。在互联网上搜索时,我发现了几则建议使用图像加载的插件来解决此问题的帖子。它只是什么都没有改变。这意味着:我的布局和内容框一直被弄乱,直到砌筑完成加载为止,然后框突然跳到了正确的位置。 我的代码: 我也收到此萤火虫错误: 我在网站结尾处像这样加载了imagesloaded

  • 问题内容: 我在image_creator中有图像创建代码。 用于图像输出的文件是image.php并具有以下代码 当我运行image.php时,我只会得到一个空白页。为什么会这样呢? 问题答案: 使用它向图像添加文本(从PHP for Kids复制)

  • 问题内容: 问题答案: 您必须向JLabel提供一个实现(即)。您可以通过方法(如您的问题)中的方法或通过构造函数来执行此操作: 我建议你阅读的Javadoc ,和。另外,您可以查看“ 如何使用标签教程 ”以获取更多信息。

  • 问题内容: 我需要做的事情很简单,但是(对我来说)很难做到: 使用 javascript ,给定图像名称,即“ image01.jpg”,我需要检查该图像是否存在于某个文件夹或路径(本地或网络)中。如果该文件夹下不存在该图像,则需要检查另一个文件夹中是否存在同一图像。 例如,使用伪代码 您建议采用哪种方法?我尝试先使用ajax来实现此目的,然后使用javascript的Image()来实现,但是在

  • 问题内容: 我使用图片插件( image:^ 2.0.4 ),以便可以在图片上写一些内容,然后将其保存为新图片到设备或通过邮件发送。我尝试使用“ new File ” 加载图像,但Flutter出现错误。我询问并搜索,并得到一个提示,我可以使用rootBundle在Flutter中加载图像。我做到了,我得到以下错误。 [错误:topaz / lib / tonic / logging / dart