gpt4 book ai didi

java - 在图形对象 (java) 的屏幕截图上方添加白色矩形

转载 作者:行者123 更新时间:2023-11-29 03:08:27 25 4
gpt4 key购买 nike

我有一个方法可以在屏幕截图中添加一些文本。屏幕截图作为 File 对象输入到此方法中,如下所示:

private void modifyScreenshot(File file) throws Exception {

String textToAdd = "Something something";

BufferedImage image = ImageIO.read(file);

Graphics g = image.getGraphics();

此时,通过 g.drawString 添加文本就很容易了。但是,我希望文本不覆盖任何实际屏幕截图,而是位于屏幕截图“上方”的白色区域中。

我的意思是,此时,这就是 Graphics 对象保存到文件时的样子:

enter image description here

但是,我希望它看起来像这样,“Some text some text”是我在代码中指定的字符串。

enter image description here

那么,我怎样才能在可以写入文本的图像上方添加白色矩形呢?

编辑:请注意,这不仅仅是向图像添加字符串。这涉及“扩大” Canvas ,为字符串留出空白,这样字符串就不会覆盖实际图像。

最佳答案

大致思路如下:

BufferedImage image = ImageIO.read(file);
int whiteSpaceHeight = 20;
BufferedImage result = new BufferedImage(image.getWidth(),
image.getHeight()+whiteSpaceHeight, image.getType());
Graphics graphics = result.getGraphics();
graphics.drawImage(image, 0, whiteSpaceHeight, null);
graphics.drawString(textToAdd, 0, whiteSpaceHeight/2);

关于java - 在图形对象 (java) 的屏幕截图上方添加白色矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30785708/

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