Graphics2d 类提供了 drawString() 方法,实用该方法可以实现图形上下文的文本绘制,从而实现在图片上显示文字的功能。下面我们来看看其具体用法
语法如下:
drawString(String str,int x,int y);
或
drawString(String str,float x, float y);
str:要绘制的文本字符串;
x:绘制字符串的水平起始位置;
y绘制字符串的垂直起始位置。
此两种方法唯一的不同点就是使用的 x 和 y 参数的类型不同。
实例1:绘制一个矩形图,在矩形图的中间显示文本,文本的内容是当前时间。
代码如下:
package com.lzw; import java.awt.Canvas; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.Rectangle2D; import java.util.Date; import javax.swing.JFrame; public class DrawString extends JFrame{ private Shape rect; private Font font; private Date date; public DrawString() { rect = new Rectangle2D.Double(10,10,200,80); font = new Font("宋体", Font.BOLD,16); date = new Date(); this.setSize(230,140); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); add(new CanvasPanel()); this.setTitle("绘制文本"); } public static void main(String[] args) { new DrawString().setVisible(true); } class CanvasPanel extends Canvas{ public void paint(Graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D)g; g2.setColor(Color.CYAN); g2.fill(rect); g2.setColor(Color.BLUE); g2.setFont(font); g2.drawString("现在时间是:",20,30); g2.drawString(String.format("%tr",date),50,60); } } }
总结
本文介绍了再图片中显示当前时间的方法,那怎样在图片中显示当前日期呢?你心里是不是已经有了明确的思路?
感谢大家对本站的支持!