资源简介
实现Java2D之字体编程:
1、java.awt.Font的使用。
2、用TextLayout和LineBreakMeasurer类设计一个有趣的艺术字演示程序;
3、模仿Word软件的某一个功能(如艺术字的)
代码片段和文件信息
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.font.*;
import javax.swing.Japplet;
public class Clipping extends Japplet {
public void init() {
setBackground(Color.white);
}
@Override
public void paint(Graphics g) {
Graphics2D g2;
g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_RENDERING
RenderingHints.VALUE_RENDER_QUALITY);
int w = getSize().width;
int h = getSize().height;
FontRenderContext frc = g2.getFontRenderContext();
Font f = new Font(“Helvetica“Font.BOLD+Font.ITALICw/8);
String s = new String(“中南民族大学“);
TextLayout tl = new TextLayout(s f frc);
float sw = (float) tl.getBounds().getWidth();
AffineTransform transform = new AffineTransform();
transform.setToTranslation(w/2-sw/2h/2);
Shape shape = tl.getOutline(transform);
g2.setClip(shape);
g2.setColor(Color.blue);
g2.fill(shape.getBounds());
g2.setColor(Color.yellow);
for (int j = shape.getBounds().y; j < shape.getBounds().y + shape.getBounds().height; j=j+3) {
Line2D line = new Line2D.Float( 0.0f (float) j
(float) w (float) j);
g2.draw(line);
}
}
public static void main(String[] args) {
WindowListener l = new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {System.exit(0);}
@Override
public void windowClosed(WindowEvent e) {System.exit(0);}
};
frame f = new frame(“多媒体之2D文本展示“);
f.addWindowListener(l);
f.add(“Center“ new Clipping());
f.pack();
f.setSize(new Dimension(400 300));
f.show();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 514 2010-04-28 13:02 源代码\Clipping$1.class
文件 2819 2010-04-28 13:02 源代码\Clipping.class
文件 206 2010-04-28 12:44 源代码\Clipping.html
文件 2038 2010-04-28 13:02 源代码\Clipping.java
文件 5116 2007-11-26 12:52 源代码\clouds.jpg
文件 1929 2007-11-26 12:52 源代码\duke.gif
文件 271 2010-04-28 12:50 源代码\left.html
文件 406 2010-04-28 12:52 源代码\right.html
文件 253 2010-04-28 12:56 源代码\Show.html
文件 456 2010-04-28 13:11 源代码\ShowFont$1.class
文件 3903 2010-04-28 13:11 源代码\ShowFont.class
文件 207 2010-04-28 12:49 源代码\ShowFont.html
文件 4574 2010-04-28 12:32 源代码\ShowFont.java
文件 508 2010-04-28 13:06 源代码\Starry$1.class
文件 2522 2010-04-28 13:06 源代码\Starry.class
文件 204 2010-04-28 13:07 源代码\Starry.html
文件 2161 2010-04-28 13:06 源代码\Starry.java
文件 7643 2010-04-27 21:30 源代码\Text.java
文件 526 2010-04-28 12:36 源代码\TextClipping$1.class
文件 2890 2010-04-28 12:36 源代码\TextClipping.class
文件 213 2010-04-28 12:49 源代码\TextClipping.html
文件 2262 2010-04-28 11:51 源代码\TextClipping.java
文件 1404 2010-04-28 14:23 源代码\WriteFont$1.class
文件 1404 2010-04-28 14:23 源代码\WriteFont$2.class
文件 1404 2010-04-28 14:23 源代码\WriteFont$3.class
文件 1404 2010-04-28 14:23 源代码\WriteFont$4.class
文件 426 2010-04-29 17:11 源代码\WriteFont.bat
文件 4158 2010-04-28 14:23 源代码\WriteFont.class
文件 8062 2010-04-28 14:23 源代码\WriteFont.java
文件 615690 2010-04-28 14:24 源代码\多媒体实验报告.wps
............此处省略4个文件信息
评论
共有 条评论