gpt4 book ai didi

java - 在Java中将字符串绘制到图像

转载 作者:行者123 更新时间:2023-12-01 06:18:28 25 4
gpt4 key购买 nike

我需要在 Java 中将字符串绘制到 BufferedImage 中。完成此操作的方式并不重要,但是图像应该只占用它需要的空间,如下例所示。我需要创建一个仅包含字符串的新 BufferedImage。字符串上方和字符串右侧的额外空间是可以容忍的,但我不能在绘制的字符串下方和左侧有额外的空间。

Image

这样的事情可能吗?我尝试过自己做,但最终总是有多余的空间,这不是我想要的。任何帮助将不胜感激。

最佳答案

您可以使用Graphics2D#drawString方法:

import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;

import javax.swing.JComponent;
import javax.swing.JFrame;

public class MainClass{
public static void main(String[] args) {
JFrame jf = new JFrame("Demo");
Container cp = jf.getContentPane();
MyCanvas tl = new MyCanvas();
cp.add(tl);
jf.setSize(300, 200);
jf.setVisible(true);
}
}

class MyCanvas extends JComponent {
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Font font = new Font("Serif", Font.PLAIN, 96);
g2.setFont(font);

g2.drawString("Test string", 40, 120);
}
}

关于java - 在Java中将字符串绘制到图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17285938/

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