AWT Graphics2D类
1 什么是Java AWT Graphics2D
Graphics2D 类扩展了 Graphics 类,以提供对几何、坐标转换、颜色管理和文本布局的更复杂的控制。
2 Java AWT Graphics2D的语法
public abstract class Graphics2D
extends Graphics
3 Java AWT Graphics2D的构造方法
构造方法 | 描述 |
---|---|
Graphics2D() | 构造一个新的 Graphics2D 对象。 |
4 Java AWT Graphics2D的方法
方法 | 描述 |
---|---|
abstract void addRenderingHints(Map<?,?> hints) | 为渲染算法设置任意数量的首选项值。 |
abstract void clip(Shape s) | 将当前 Clip 与指定 Shape 的内部相交,并将 Clip 设置为产生的交集。 |
abstract void draw(Shape s) | 使用当前 Graphics2D 上下文的设置描边 Shape 的轮廓。 |
void draw3DRect(int x, int y, int width, int height, boolean raised) | 绘制指定矩形的 3D 突出显示轮廓。 |
abstract void drawGlyphVector(GlyphVector g, float x, float y) | 使用 Graphics2D 上下文的呈现属性呈现指定 GlyphVector 的文本。 |
abstract void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) | 渲染一个用 BufferedImageOp 过滤的 BufferedImage。 |
abstract boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) | 渲染图像,在绘制之前应用从图像空间到用户空间的变换。 |
abstract void drawRenderableImage(RenderableImage img, AffineTransform xform) | 渲染一个 RenderableImage,在绘制之前应用从图像空间到用户空间的变换。 |
abstract void drawRenderedImage(RenderedImage img, AffineTransform xform) | 渲染一个 RenderedImage,在绘制之前应用从图像空间到用户空间的变换。 |
abstract void drawString(AttributedCharacterIterator iterator, float x, float y) | 根据 TextAttribute 类的规范应用其属性呈现指定迭代器的文本。 |
abstract void drawString(AttributedCharacterIterator iterator, int x, int y) | 根据 TextAttribute 类的规范应用其属性呈现指定迭代器的文本。 |
abstract void drawString(String str, float x, float y) | 使用 Graphics2D 上下文中的当前文本属性状态呈现由指定 String 指定的文本 |
abstract void drawString(String str, int x, int y) | 使用 Graphics2D 上下文中的当前文本属性状态呈现指定字符串的文本。 |
abstract void fill(Shape s) | 使用 Graphics2D 上下文的设置填充 Shape 的内部。 |
void fill3DRect(int x, int y, int width, int height, boolean raised) | 绘制一个用当前颜色填充的 3D 高亮矩形。 |
abstract Color getBackground() | 返回用于清除区域的背景颜色。 |
abstract Composite getComposite() | 返回 Graphics2D 上下文中的当前 Composite。 |
abstract GraphicsConfiguration getDeviceConfiguration() | 返回与此 Graphics2D 关联的设备配置。 |
abstract FontRenderContext getFontRenderContext() | 在此 Graphics2D 上下文中获取 Font 的渲染上下文。 |
abstract Paint getPaint() | 返回 Graphics2D 上下文的当前 Paint。 |
abstract Object getRenderingHint(RenderingHints.Key hintKey) | 返回渲染算法的单个首选项的值。 |
abstract RenderingHints getRenderingHints() | 获取渲染算法的首选项。 |
abstract Stroke getStroke() | 返回 Graphics2D 上下文中的当前 Stroke。 |
abstract AffineTransform getTransform() | 返回 Graphics2D 上下文中当前变换的副本。 |
abstract boolean hit(Rectangle rect, Shape s, boolean onStroke) | 检查指定的 Shape 是否与设备空间中的指定 Rectangle 相交。 |
abstract void rotate(double theta) | 将当前 Graphics2D 变换与旋转变换连接起来。 |
abstract void rotate(double theta, double x, double y) | 将当前的 Graphics2D Transform 与平移的旋转变换连接起来。 |
abstract void scale(double sx, double sy) | 将当前 Graphics2D 变换与缩放变换连接起来 后续渲染根据指定的缩放因子相对于先前的缩放比例进行调整。 |
abstract void setBackground(Color color) | 设置 Graphics2D 上下文的背景颜色。 |
abstract void setComposite(Composite comp) | 设置 Graphics2D 上下文的 Composite。 |
abstract void setPaint(Paint paint) | 设置 Graphics2D 上下文的 Paint 属性。 |
abstract void setRenderingHint(RenderingHints.Key hintKey, Object hintValue) | 设置渲染算法的单个首选项的值。 |
abstract void setRenderingHints(Map<?,?> hints) | 用指定的提示替换渲染算法的所有首选项的值。 |
abstract void setStroke(Stroke s) | 设置 Graphics2D 上下文的 Stroke。 |
abstract void setTransform(AffineTransform Tx) | 覆盖 Graphics2D 上下文中的 Transform。 |
abstract void shear(double shx, double shy) | 使用剪切变换连接当前的 Graphics2D 变换。 |
abstract void transform(AffineTransform Tx) | 根据最后指定的先应用规则,在此 Graphics2D 中使用 Transform 组合一个 AffineTransform 对象。 |
abstract void translate(double tx, double ty) | 将当前 Graphics2D 变换与平移变换连接起来。 |
abstract void translate(int x, int y) | 将 Graphics2D 上下文的原点转换为当前坐标系中的点 (x, y)。 |
5 Java AWT Graphics2D的例子
让我们看一个简单的Java AWT Graphics2D类示例。
package com.yiidian;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AWTGraphicsDemo extends Frame {
public AWTGraphicsDemo(){
super("一点教程网:Java AWT Examples");
prepareGUI();
}
public static void main(String[] args){
AWTGraphicsDemo awtGraphicsDemo = new AWTGraphicsDemo();
awtGraphicsDemo.setVisible(true);
}
private void prepareGUI(){
setSize(400,400);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
}
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Font font = new Font("Serif", Font.PLAIN, 24);
g2.setFont(font);
g2.drawString("Welcome to yiidian.com", 50, 70);
}
}
输出结果为:
热门文章
优秀文章