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 ); } } } |
總結
本文介紹了再圖片中顯示當前時間的方法,那怎樣在圖片中顯示當前日期呢?你心里是不是已經有了明確的思路?
感謝大家對本站的支持!