private void printText(BufferedImage image, float x, float y, String text) { Graphics2D g = image.createGraphics(); g.setColor(Color.RED); g.setFont(new Font("Arial", Font.BOLD, 30)); FontMetrics fm = g.getFontMetrics(); int width = fm.stringWidth(text); int height = fm.getHeight(); g.drawString(text, x, y + fm.getAscent()); g.dispose(); }
比较坑的一点就是这个坐标,我在c++和c#中这个坐标一般都是左上角,但java中弄了个什么基线,坑了我好几个小时。这个函数入参 (x,y) 就是要绘制的文字的左上角坐标。
标签:java,int,text,坐标,图像,绘制,fm From: https://www.cnblogs.com/nanfei/p/17503448.html