gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:35:59 26 4
gpt4 key购买 nike

我的 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();
}
}

关于java - 如何使用 Java 加载图像并向其中写入文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6540376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com