Graphics2d 类提供了 drawString() 方法,实用该方法可以实现图形上下文的文本绘制,从而实现在图片上显示文字的功能。下面我们来看看其具体用法
语法如下:
1
|
drawString(String str, int x, int y);
|
或
1
|
drawString(String str, float x, float y);
|
str:要绘制的文本字符串;
x:绘制字符串的水平起始位置;
y绘制字符串的垂直起始位置。
此两种方法唯一的不同点就是使用的 x 和 y 参数的类型不同。
实例1:绘制一个矩形图,在矩形图的中间显示文本,文本的内容是当前时间。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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 );
}
}
}
|
总结
本文介绍了再图片中显示当前时间的方法,那怎样在图片中显示当前日期呢?你心里是不是已经有了明确的思路?
感谢大家对本站的支持!