当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

类 java.awt.Graphics

java.lang.Object
   |
   +----java.awt.Graphics

public abstract class Graphics
extends Object

Graphics 类是所有图形上下文的抽象基类,这个上下文允许应用将图形绘制到由不同设备实现的组件上,以及绘制到空闲屏幕的映像中。

一个 Graphics 对象封装有 Java 所支持的基本绘图操作所需的状态信息。此状态信息包括下列属性:

坐标是无限薄的并且位于输出设备的像素之间。绘制图形轮廓的操作由贯穿一条像素间的无限薄的路线的操作实现,该路线是用像素大小的笔沿图形轮廓路线亮点右边画下的。填充图形的操作由填充图形无限薄路线内部的操作实现。绘制水平文本的操作是由全部在基线坐标上绘制递增比例的字符凸凹的操作的实现的。

绘图笔从它所贯穿的路线的左部画到右部。这有下列含义:

所有作为该 Graphics 对象方法的参数出现的坐标,都是相对于方法调用前的 Graphics 对象的平移原点的坐标。所有的绘图操作,仅仅改变由图形上下文的当前剪贴区和用于创建 Graphics 对象的组件范围共同限定的区域中的像素。所有的绘制和写入都以当前颜色、当前的绘图模式和当前的字体进行。

来自:
JDK1.0
参见:
Component, clipRect, setColor, setPaintMode, setXORMode, setFont

构造子索引

Graphics()
构造一个新的 Graphics 对象。

方法索引

clearRect(int, int, int, int)
通过用当前绘图表面的背景颜色填充的方法来清除指定的矩形区。
clipRect(int, int, int, int)
用指定的矩形与当前的剪贴区相交。
copyArea(int, int, int, int, int, int)
将组件区域复制到由 dxdy 指定的位移距离处。
create()
创建一个新的 Graphics 对象,它是该 Graphics 对象的副本。
create(int, int, int, int)
创建一个基于该 Graphics 对象的新的 Graphics 对象,但是有一个新的平移和剪贴区域。
dispose()
撤消该图形的上下文并释放它所使用的任何系统资源。
draw3DRect(int, int, int, int, boolean)
绘制指定矩形的一个突出显示的三维轮廓。
drawArc(int, int, int, int, int, int)
绘制一个覆盖指定矩形的圆或椭圆弧的轮廓。
drawBytes(byte[], int, int, int, int)
使用该图形上下文的当前字体和颜色,绘制由指定的字节数组指出的文本。
drawChars(char[], int, int, int, int)
使用该图形上下文的当前字体和颜色,绘制由指定的字符数组指出的文本。
drawImage(Image, int, int, Color, ImageObserver)
绘制指定图像的当前可用部分。
drawImage(Image, int, int, ImageObserver)
绘制指定图像的当前可用部分。
drawImage(Image, int, int, int, int, Color, ImageObserver)
绘制指定图像已按比例缩放放入指定矩形内的部分。
drawImage(Image, int, int, int, int, ImageObserver)
绘制指定图像已按比例缩放放入指定矩形内的部分。
drawImage(Image, int, int, int, int, int, int, int, int, Color, ImageObserver)
绘制指定图像的指定区域的当前可用部分,将它按比例缩放到画布上,以能够放入可绘图表面的指定目标区域之内。
drawImage(Image, int, int, int, int, int, int, int, int, ImageObserver)
绘制指定图像的指定区域的当前可用部分,将它按比例缩放到画布上,以能够放入可绘图表面的指定目标区域之内。
drawLine(int, int, int, int)
在该图形上下文的坐标系中,使用当前颜色,绘制一条在点 (x1 ,  y1)(x2 , y2) 之间的线。
drawOval(int, int, int, int)
绘制椭圆形的轮廓。
drawPolygon(int[], int[], int)
绘制由 xy 坐标数组定义的闭合多边形。
drawPolygon(Polygon)
绘制由指定的 Polygon 对象定义的多边形的轮廓。
drawPolyline(int[], int[], int)
绘制由 xy 坐标数组定义的连接线序列。
drawRect(int, int, int, int)
绘制指定矩形的轮廓。
drawRoundRect(int, int, int, int, int, int)
使用该图形上下文的当前颜色绘制圆角矩形的轮廓。
drawString(String, int, int)
使用该图形上下文的当前字体和颜色,绘制由指定的字符串给出的文本。
fill3DRect(int, int, int, int, boolean)
用当前颜色绘制一个突出显示的三维矩形。
fillArc(int, int, int, int, int, int)
填充一个覆盖了指定矩形的圆或椭圆弧。
fillOval(int, int, int, int)
用当前颜色填充由指定矩形限定的椭圆。
fillPolygon(int[], int[], int)
填充由 xy 坐标数组定义的闭合多边形。
fillPolygon(Polygon)
用图形上下文的当前颜色填充由指定的 Polygon 对象定义的多边形。
fillRect(int, int, int, int)
填充指定的矩形。
fillRoundRect(int, int, int, int, int, int)
用当前颜色填充指定的圆角矩形。
finalize()
一旦该图形上下文不再被引用就撤消它。
getClip()
获取当前的剪贴区域。
getClipBounds()
返回当前剪贴区域所限定的矩形。
getClipRect()
不推荐。
getColor()
获取该图形上下文的当前颜色。
getFont()
获取当前字体。
getFontMetrics()
获取当前字体的字体度量。
getFontMetrics(Font)
获取指定字体的字体度量。
setClip(int, int, int, int)
将由指定的坐标指定的矩形设置为当前的剪贴区。
setClip(Shape)
将任意剪贴形状设置为当前的剪贴区域。
setColor(Color)
将指定的颜色设置为该图形上下文的当前颜色。
setFont(Font)
将指定的字体设置为该图形上下文的字体。
setPaintMode()
用该图形上下文的当前颜色设置该图形上下文修改目标的绘图模式。
setXORMode(Color)
将该图形上下文的绘图模式设置为在该图形上下文的当前颜色和新的指定的颜色之间切换。
toString()
返回一个表示该 Graphics 对象的数值的 String 对象。
translate(int, int)
将图形上下文的原点平移到在当前坐标系的点 (x , y) 处。

构造子

Graphics
 protected Graphics()
构造一个新的 Graphics 对象。 该构造子是图形上下文的缺省构造子。

由于 Graphics 是一个抽象类,应用不能直接调用该构造子。图形上下文是从其他图形上下文获得的或是通过在一个组件上调用 getGraphics 创建的。

参见:
create, getGraphics

方法

create
 public abstract Graphics create()
创建一个新的 Graphics 对象,它是该 Graphics 对象的副本。

返回值:
一个新的图形上下文,它是该图形上下文的副本。
create
 public Graphics create(int x,
                                             int y,
                                             int width,
                                             int height)
创建一个基于该 Graphics 对象的新的 Graphics 对象,但是有一个新的平移和剪贴区域。新的 Graphics 对象将它的原点平移到指定的点 (x , y) 处。它的剪贴区域由初始的剪贴区域和指定矩形的交集确定。参数都在初始的 Graphics 对象的坐标系中解释。新的图形上下文都根据初始的上下文确定,除了在下列两种情况:

参数:
x - x 坐标。
y - y 坐标。
width - 剪贴矩形的宽度。
height - 剪贴矩形的高度。
返回值:
一个新的图形上下文。
参见:
translate, clipRect
translate
 public abstract void translate(int x,
                                int y)
将图形上下文的原点平移到当前坐标系的 (x ,  y) 点处。修改该图形的上下文,使得它的新原点与该图形上下文原先坐标系中的 (x , y) 点相一致。随后在该图形上下文上的绘图操作中所用到的所有坐标都是相对于这个新的原点的。

参数:
x - x 坐标。
y - y 坐标。
getColor
 public abstract Color getColor()
获取该图形上下文的当前颜色。

返回值:
该图形上下文的当前颜色。
参见:
Color, setColor
setColor
 public abstract void setColor(Color c)
将该图形上下文的当前颜色设置为指定的颜色。随后所有使用该图形上下文进行的图形操作都使用这个指定的颜色。

参数:
c - 新的绘图颜色。
参见:
Color, getColor
setPaintMode
 public abstract void setPaintMode()
用该图形上下文的当前颜色设置该图形上下文修改目标的绘图模式。这可以把逻辑像素操作函数设置为绘图或修改模式,随后所有的绘图操作将使用当前颜色来修改目标。

setXORMode
 public abstract void setXORMode(Color c1)
将该图形上下文的绘图模式设置为在该图形上下文的当前颜色和新的指定的颜色之间切换。这可以指定逻辑像素操作以 XOR 模式进行,这使得像素可在当前颜色和指定的 XOR 颜色之间切换。

当绘图操作执行时,当前颜色的像素改变为指定的颜色,反之亦然。

这两种颜色以外的颜色的像素以一种不可预测的但是可逆的方式改变;如果相同的图形绘制两次,那么所有的像素将恢复到它们原先的数值。

参数:
c1 - XOR 切换颜色
getFont
 public abstract Font getFont()
获取当前字体。

返回值:
该图形上下文的当前字体。
参见:
Font, setFont
setFont
 public abstract void setFont(Font font)
将指定的字体设置为该图形上下文的字体。随后所有使用该图形上下文的文本操作都使用该字体。

参数:
font - 字体。
参见:
getFont, drawChars, drawString, drawBytes
getFontMetrics
 public FontMetrics getFontMetrics()
获取当前字体的字体度量。

返回值:
该图形上下文当前字体的字体度量。
参见:
getFont, FontMetrics, getFontMetrics
getFontMetrics
 public abstract FontMetrics getFontMetrics(Font f)
获取指定字体的字体度量。

参数:
f - 指定的字体
返回值:
指定字体的字体度量。
参见:
getFont, FontMetrics, getFontMetrics
getClipBounds
 public abstract Rectangle getClipBounds()
返回当前剪贴区域所限定的矩形。矩形中的坐标是相对于该图形上下文坐标系原点的坐标。

返回值:
当前剪贴区域所限定的矩形。
参见:
getClip, clipRect, setClip, setClip
clipRect
 public abstract void clipRect(int x,
                               int y,
                               int width,
                               int height)
用指定的矩形与当前的剪辑相交。结果的剪贴区域是当前的剪贴区域与指定矩形的交集。该方法仅仅用来使当前的剪贴区变小。若要设置使当前的剪贴区变大,则须使用 setClip 方法。对于剪贴区域外的绘图操作不会有影响。

参数:
x - 与剪贴区相交的矩形的 x 坐标。
y - 与剪贴区相交的矩形的 y 坐标。
width - 与剪贴区相交的矩形的宽度。
height - 与剪贴区相交的矩形的高度。
参见:
setClip, setClip
setClip
 public abstract void setClip(int x,
                              int y,
                              int width,
                              int height)
将当前的剪贴区设置为由给定的坐标指定的矩形。对于剪贴区域外的绘图操作不会有影响。

参数:
x - 新的剪贴矩形的 x 坐标。
y - 新的剪贴矩形的 y 坐标。
width - 新的剪贴矩形的宽度。
height - 新的剪贴矩形的高度。
参见:
clipRect, setClip
getClip
 public abstract Shape getClip()
获取当前的剪贴区域。

返回值:
表示当前剪贴区域的 Shape 对象。
参见:
getClipBounds, clipRect, setClip, setClip
setClip
 public abstract void setClip(Shape clip)
将当前的剪贴域设置为任意剪贴形状。并不是所有用 Shape 接口实现的对象都可以被用来设置剪贴区。确保被支持的 Shape 对象仅有通过 getClip 和通过 Rectangle 对象获得的 Shape 对象。

参见:
getClip, clipRect, setClip
copyArea
 public abstract void copyArea(int x,
                               int y,
                               int width,
                               int height,
                               int dx,
                               int dy)
将组件区域复制到由 dxdy 指定的位移距离处。从由 xy 指定的点处,复制到右下方。若要将组件区域复制到左边或上方,则须为 dxdy 指定一个负值。如果源矩形的一部分处于组件所限定的矩形外,或被另一个窗口或组件掩盖,那么 copyArea 方法就不能复制有关的像素。被忽略的区域可以通过调用组件的 paint 方法来刷新。

参数:
x - 源矩形的 x 坐标。
y - 源矩形的 y 坐标。
width - 源矩形的宽度。
height - 源矩形的高度。
dx - 要复制像素的水平距离。
dy - 要复制像素的垂直距离。
drawLine
 public abstract void drawLine(int x1,
                               int y1,
                               int x2,
                               int y2)
在该图形上下文的坐标系中,使用当前颜色,绘制一条在点 (x1 ,  y1)(x2 , y2) 之间的线。

参数:
x1 - 第一个点的 x 坐标。
y1 - 第一个点的 y 坐标。
x2 - 第二个点的 x 坐标。
y2 - 第二个点的 y 坐标。
fillRect
 public abstract void fillRect(int x,
                               int y,
                               int width,
                               int height)
填充指定的矩形。矩形的左边和右边分别为 xx + width - 1 。顶部边沿和底部边沿分别为 yy + height - 1 。结果矩形覆盖了一个宽 width 个像素高 height 个像素的区域。使用图形上下文的当前颜色来填充矩形。

参数:
x - 将被填充的矩形的 x 坐标。
y - 将被填充的矩形的 y 坐标。
width - 将被填充的矩形的宽度。
height - 将被填充的矩形的高度。
参见:
fillRect, clearRect
drawRect
 public void drawRect(int x,
                      int y,
                      int width,
                      int height)
绘制指定矩形的轮廓。矩形的左边和右边分别为 xx + width 。顶部边沿和底部边沿分别为 yy + height 。该矩形是使用图形上下文的当前颜色绘制的。

参数:
x - 将被绘制的矩形的 x 坐标。
y - 将被绘制的矩形的 y 坐标。
width - 将被绘制的矩形的宽度。
height - 将被绘制的矩形的高度。
参见:
fillRect, clearRect
clearRect
 public abstract void clearRect(int x,
                                int y,
                                int width,
                                int height)
通过用当前绘图表面的背景颜色填充的方法来清除指定的矩形。该操作不使用当前的绘图模式。

从 Java 1.1 开始,空闲屏幕图象的背景颜色就可能是与系统相关的。应用程序应当在 fillRect 方法后紧接着使用 setColor 方法来确保空闲屏幕的图像被清除为指定的颜色。

参数:
x - 将被清除的矩形的 x 坐标。
y - 将被清除的矩形的 y 坐标。
width - 将被清除的矩形的宽度。
height - 将被清除的矩形的高度。
参见:
fillRect, drawRect, setColor, setPaintMode, setXORMode
drawRoundRect
 public abstract void drawRoundRect(int x,
                                    int y,
                                    int width,
                                    int height,
                                    int arcWidth,
                                    int arcHeight)
使用该图形上下文的当前颜色绘制轮廓为圆角的矩形。矩形的左边和右边分别为 xx + width 。矩形的顶部边沿和底部边沿分别为 yy + height

参数:
x - 将被绘制的矩形的 x 坐标。
y - 将被绘制的矩形的 y 坐标。
width - 将被绘制的矩形的宽度。
height - 将被绘制的矩形的高度。
arcWidth - 位于四个角上的弧的水平直径。
arcHeight - 位于四个角上的弧的垂直直径。
参见:
fillRoundRect
fillRoundRect
 public abstract void fillRoundRect(int x,
                                    int y,
                                    int width,
                                    int height,
                                    int arcWidth,
                                    int arcHeight)
用当前颜色填充指定的圆角矩形。矩形的左边和右边分别为 xx + width - 1 。矩形的顶部边沿和底部边沿分别为 yy + height - 1

参数:
x - 将被填充的矩形的 x 坐标。
y - 将被填充的矩形的 y 坐标。
width - 将被填充的矩形的宽度。
height - 将被填充的矩形的高度。
arcWidth - 位于四个角上的弧的水平直径。
arcHeight - 位于四个角上的弧的垂直直径。
参见:
drawRoundRect
draw3DRect
 public void draw3DRect(int x,
                        int y,
                        int width,
                        int height,
                        boolean raised)
绘制指定矩形的一个突出显示的三维轮廓。矩形的边缘是突出的,因此它们看起来似乎从左上角被斜切并增亮。

用于产生突出效果的颜色是根据当前颜色来确定的。结果矩形覆盖了一个 width + 1 个像素宽、 height + 1 个像素高的区域。

参数:
x - 将被绘制的矩形的 x 坐标。
y - 将被绘制的矩形的 y 坐标。
width - 将被绘制的矩形的宽度。
height - 将被绘制的矩形的高度。
raised - 一个布尔值用于确定矩形是突出表面显示,或是凹入表面显示。
参见:
fill3DRect
fill3DRect
 public void fill3DRect(int x,
                        int y,
                        int width,
                        int height,
                        boolean raised)
绘制一个用当前颜色填充的突出的三维矩形。矩形的边缘是突出的,因此它看起来似乎从左上角被斜切并增亮。用于产生突出效果的颜色是根据当前颜色来确定的。

参数:
x - 将被填充的矩形的 x 坐标。
y - 将被填充的矩形的 y 坐标。
width - 将被填充的矩形的宽度。
height - 将被填充的矩形的高度。
raised - 一个布尔值用于确定矩形是突出表面显示,或是凹入表面显示。
参见:
draw3DRect
drawOval
 public abstract void drawOval(int x,
                               int y,
                               int width,
                               int height)
绘制椭圆形的轮廓。结果是一个圆或椭圆,并适合由 xywidthheight 参数指定的矩形。

该椭圆覆盖了一个 width + 1 个像素宽和 height + 1 个像素高的区域。

参数:
x - 将被绘制的椭圆的左上角的 x 坐标。
y - 将被绘制的椭圆的左上角的 y 坐标。
width - 将被绘制的椭圆的宽度。
height - 将被绘制的椭圆的高度。
参见:
fillOval
fillOval
 public abstract void fillOval(int x,
                               int y,
                               int width,
                               int height)
用当前颜色填充由指定矩形限定的椭圆。

参数:
x - 将被填充的椭圆的左上角的 x 坐标。
y - 将被填充的椭圆的左上角的 y 坐标。
width - 将被填充的椭圆的宽度。
height - 将被填充的椭圆的高度。
参见:
drawOval
drawArc
 public abstract void drawArc(int x,
                              int y,
                              int width,
                              int height,
                              int startAngle,
                              int arcAngle)
绘制一个覆盖指定矩形的圆或椭圆弧的轮廓。

结果弧由 startAngle 开始并扩展 arcAngle 度,并且使用当前颜色。角度的解释为: 0  度是在时针 3  点钟的位置。正值表示顺时针旋转,而负值表示逆时针旋转。

弧的中心在矩形的中心,它的原点为 (x , y) 并且它的大小由 widthheight 参数指定。

结果弧覆盖了一个 width + 1 个像素宽、 height + 1 个像素高的区域。

参数:
x - 将被绘制的弧的左上角的 x 坐标。
y - 将被绘制的弧的左上角的 y 坐标。
width - 将被绘制的弧的宽度。
height - 将被绘制的弧的高度。
startAngle - 起始角度。
arcAngle - 相对于起始角度的弧的扩展角度。
参见:
fillArc
fillArc
 public abstract void fillArc(int x,
                              int y,
                              int width,
                              int height,
                              int startAngle,
                              int arcAngle)
填充一个覆盖了指定矩形的圆或椭圆弧。

结果弧由 startAngle 开始并扩展 arcAngle 度。角度的解释为: 0  度是在时针 3  点钟的位置。正值表示顺时针旋转,而负值表示逆时针旋转。

弧的中心在矩形的中心,它的原点为 (x , y) 并且它的大小由 widthheight 参数指定。

结果弧覆盖了一个 width + 1 个像素宽、 height + 1 个像素高的区域。

参数:
x - 将被填充的弧的左上角的 x 坐标。
y - 将被填充的弧的左上角的 y 坐标。
width - 将被填充的弧的宽度。
height - 将被填充的弧的高度。
startAngle - 起始角度。
arcAngle - 相对于起始角度的弧的扩展角度。
参见:
drawArc
drawPolyline
 public abstract void drawPolyline(int xPoints[],
                                   int yPoints[],
                                   int nPoints)
绘制由 xy 坐标数组定义的连接线序列。每对 (x , y) 坐标定义一个点。如果起始点与结束点不同,那么图形就不是闭合的。

参数:
xPoints - 一个点的 x 坐标数组
yPoints - 一个点的 y 坐标数组
nPoints - 点的总数
参见:
drawPolygon
drawPolygon
 public abstract void drawPolygon(int xPoints[],
                                  int yPoints[],
                                  int nPoints)
绘制由 xy 坐标数组定义的闭合多边形。每对 (x , y) 坐标定义一个点。

该方法绘制由 nPoint 条线段定义的多边形,其中前 nPoint - 1 条线段是从 (xPoints[i - 1] , yPoints[i - 1])(xPoints[i] , yPoints[i]) ,当 1 ≤ i ≤ nPoints 。 如果最后一个点和第一个点不相同时,图形通过绘制一条连接这两点的直线来自动闭合。

参数:
xPoints - 一个 x 坐标数组。
yPoints - 一个 y 坐标数组。
nPoints - 点的总数。
参见:
fillPolygon, drawPolyline
drawPolygon
 public void drawPolygon(Polygon p)
绘制由指定的 Polygon 对象定义的多边形的轮廓。

参数:
p - 将要绘制的多边形。
参见:
fillPolygon, drawPolyline
fillPolygon
 public abstract void fillPolygon(int xPoints[],
                                  int yPoints[],
                                  int nPoints)
填充由 xy 坐标数组定义的闭合多边形。

该方法绘制由 nPoint 条线段定义的多边形,其中前 nPoint - 1 条线段是从 (xPoints[i - 1] , yPoints[i - 1])(xPoints[i] , yPoints[i]) ,当 1 ≤ i ≤ nPoints 。 如果最后一个点和第一个点不相同时,图形通过绘制一条连接这两点的直线来自动形成闭合。

多边形内的区域使用奇偶填充规则和交替填充规则来定义。

参数:
xPoints - 一个 x 坐标数组。
yPoints - 一个 y 坐标数组。
nPoints - 点的总数。
参见:
drawPolygon
fillPolygon
 public void fillPolygon(Polygon p)
用图形上下文的当前颜色填充由指定的 Polygon 对象定义的多边形。

多边形内的区域使用奇偶填充规则和交替填充规则来定义。

参数:
p - 将要填充的多边形。
参见:
drawPolygon
drawString
 public abstract void drawString(String str,
                                 int x,
                                 int y)
使用该图形上下文的当前字体和颜色,绘制由指定的字符串给出的文本。首字符的基线在该图形上下文中坐标系的 (x , y) 位置处。

参数:
str - 要绘制的字符串。
x - x 坐标。
y - y 坐标。
参见:
drawBytes, drawChars
drawChars
 public void drawChars(char data[],
                       int offset,
                       int length,
                       int x,
                       int y)
使用该图形上下文的当前字体和颜色,绘制由指定的字符数组给出的文本。首字符的基线在该图形上下文中坐标系的 (x , y) 位置处。

参数:
data - 要绘制的字符数组
offset - 数据的初始偏移量
length - 要绘制的字符数
x - 文本基线的 x 坐标
y - 文本基线的 y 坐标
参见:
drawBytes, drawString
drawBytes
 public void drawBytes(byte data[],
                       int offset,
                       int length,
                       int x,
                       int y)
使用该图形上下文的当前字体和颜色,绘制由指定的字节数组给出的文本。首字符的基线在该图形上下文中坐标系的 (x , y) 位置处。

参数:
data - 要绘制的数据
offset - 数据的初始偏移量
length - 要绘制的字节数
x - 文本基线的 x 坐标
y - 文本基线的 y 坐标
参见:
drawChars, drawString
drawImage
 public abstract boolean drawImage(Image img,
                                   int x,
                                   int y,
                                   ImageObserver observer)
绘制指定图像的当前可用部分。绘制的图像,其左上角位于该图形上下文坐标空间的 (x , y) 位置上。图像上透明的像素不会影响已在该处的像素。

在任何情况下该方法都立刻返回,甚至在整个图像并没有被装入,并且它还没有被进行抖动和转换到当前的输出设备的情况下。

如果图像没有被完全装入,那么 drawImage 方法将返回 false 。当大多数图像可用时,绘制图像的过程将通知指定的图像观察者。

参数:
img - 要绘制的指定的图像。
x - x 坐标。
y - y 坐标。
observer - 当大多数图像被转换后,将要通知的对象。
参见:
Image, ImageObserver, imageUpdate
drawImage
 public abstract boolean drawImage(Image img,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   ImageObserver observer)
绘制指定图像已按比例缩放放入指定矩形内的部分。

图像绘制在该图形上下文坐标空间指定的矩形中,并且根据需要按比例缩放。透明的像素不会影响已在该处的像素。

在任何情况下该方法都立刻返回,甚至在整个图像没有为当前的输出设备况下缩放、抖动或转换的情况下都照样返回。如果当前的输出表示没有完成,那么 drawImage 方法返回 false 。当大多数图像可用时,绘制图像的过程将通过调用它的 imageUpdate 方法来通知观察者。

图像按比例缩放出的版本没有必要立刻成为可用的,因为图像的非按比例缩放的版本已经为该输出设备构造出。在不同图像的生产序列中,每种尺寸的图像可以分别储存,并且可以从初始数据当中生成。

参数:
img - 要绘制的指定的图像。
x - x 坐标。
y - y 坐标。
width - 矩形的宽度。
height - 矩形的高度。
observer - 当大多数图像被转换后,将要通知的对象。
参见:
Image, ImageObserver, imageUpdate
drawImage
 public abstract boolean drawImage(Image img,
                                   int x,
                                   int y,
                                   Color bgcolor,
                                   ImageObserver observer)
绘制指定图像的当前可用部分。绘制的图像,其左上角位于该图形上下文坐标空间的 (x , y) 位置上。用指定的背景颜色绘制透明像素。

该操作等价于用给定的颜色填充指定图像的宽和高的矩形,然后在它的顶部绘制该图像,但是可能更有效。

在任何情况下该方法都立刻返回,甚至在整个图像没有为当前的输出设备装入、抖动或转换的情况下都照样返回。

如果图像没有被完全装入,那么 drawImage 方法将返回 false 。当大多数图像可用时,绘制图像的过程将通知指定的图像观察者。

参数:
img - 要绘制的指定的图像。
x - x 坐标。
y - y 坐标。
bgcolor - 在图像的非透明部分下绘制的背景颜色。
observer - 大多数图像被转换后要通知的对象。
参见:
Image, ImageObserver, imageUpdate
drawImage
 public abstract boolean drawImage(Image img,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   Color bgcolor,
                                   ImageObserver observer)
绘制指定图像已按比例缩放放入指定矩形内的部分。

图像绘制在该图形上下文坐标空间指定的矩形中,并且根据需要按比例缩放。用指定的背景颜色绘制透明像素。该操作等价于用给定的颜色填充指定图像的宽和高的矩形,然后在它的顶部绘制该图像,但是可能更有效。

在任何情况下该方法都立刻返回,甚至在整个图像没有为当前输出设备缩放、抖动或转换的情况照样返回。如果当前的输出表示没有完成,那么 drawImage 方法返回 false 。当大多数图像可用时,绘制图像的过程将通知指定的图像观察者。

图像按比例缩放出的版本没有必要立刻成为可用的,因为图像的非按比例缩放的版本已经为该输出设备构造出。在不同图像的生产序列中,每个尺寸的图像可以被分别储存,并且可以从初始数据当中生成。

参数:
img - 要绘制的指定的图像。
x - x 坐标。
y - y 坐标。
width - 矩形的宽度。
height - 矩形的高度。
bgcolor - 在图像的非透明部分下绘制的背景颜色。
observer - 当大多数图像被转换后,将要通知的对象。
参见:
Image, ImageObserver, imageUpdate
drawImage
 public abstract boolean drawImage(Image img,
                                   int dx1,
                                   int dy1,
                                   int dx2,
                                   int dy2,
                                   int sx1,
                                   int sy1,
                                   int sx2,
                                   int sy2,
                                   ImageObserver observer)
绘制指定图像的指定区域的当前可用部分,将它按比例缩放到画布上以适合放入指定目标区域的可绘图表面的内部。透明的像素不会影响已在该处的像素。

在任何情况下该方法都立刻返回,甚至在整个图像没有为当前的输出设备缩放、抖动或转换的情况下照样返回。如果当前的输出表示没有完成,那么 drawImage 方法返回 false 。当大多数图像可用时,绘制图像的过程将通知指定的图像观察者。

该方法总是使用图像的非按比例缩放的版本,来绘制被按比例缩放的矩形,并且在画布上按所需的比例进行缩放。对于该操作不使用图像被储存的、按比例缩放的版本。图像从源到目标的缩放是这样进行的,源矩形的第一个坐标被映射到目标矩形的第一个坐标,第二个源坐标被映射到第二个目标坐标。子图像被按比例缩放并根据需要进行翻转来保留这些映射。

参数:
img - 要被绘制的指定的图像。
dx1 - 目标矩形的第一个角的 x 坐标。
dy1 - 目标矩形的第一个角的 y 坐标。
dx2 - 目标矩形的第二个角的 x 坐标。
dy2 - 目标矩形的第二个角的 y 坐标。
dy1 - 源矩形的第一个角的 x 坐标。
dy1 - 源矩形的第一个角的 y 坐标。
dy1 - 源矩形的第二个角的 x 坐标。
dy1 - 源矩形的第二个角的 y 坐标。
observer - 当大多数图像被按比例缩放和转换后,将要通知的对象。
参见:
Image, ImageObserver, imageUpdate
drawImage
 public abstract boolean drawImage(Image img,
                                   int dx1,
                                   int dy1,
                                   int dx2,
                                   int dy2,
                                   int sx1,
                                   int sy1,
                                   int sx2,
                                   int sy2,
                                   Color bgcolor,
                                   ImageObserver observer)
绘制指定图像的指定区域的当前可用部分,将它按比例缩放到画布上以适合放入指定目标区域的可绘图表面的内部。

用指定的背景颜色绘制透明像素。该操作等价于用给定的颜色填充指定图像的宽和高的矩形,然后在它的顶部绘制该图像,但是可能更有效。

在任何情况下该方法都立刻返回,甚至在整个图像没有为当前的输出设备缩放、抖动或被转换情况下照样返回。如果当前的输出表示没有完成,那么 drawImage 方法返回 false 。当大多数图像可用时,绘制图像的过程将通知指定的图像观察者。

该方法总是使用图像的非按比例缩放的版本,来绘制被按比例缩放的矩形,并且在画布上按所需的比例进行缩放。对于该操作不使用图像被储存的、按比例缩放的版本。图像从源到目标的缩放是这样进行的,源矩形的第一个坐标被映射到目标矩形的第一个坐标,第二个源坐标被映射到第二个目标坐标。子图像被按比例缩放并根据需要进行翻转来保留这些映射。

参数:
img - 要被绘制的指定的图像。
dx1 - 目标矩形的第一个角的 x 坐标。
dy1 - 目标矩形的第一个角的 y 坐标。
dx2 - 目标矩形的第二个角的 x 坐标。
dy2 - 目标矩形的第二个角的 y 坐标。
dy1 - 源矩形的第一个角的 x 坐标。
dy1 - 源矩形的第一个角的 y 坐标。
dy1 - 源矩形的第二个角的 x 坐标。
dy1 - 源矩形的第二个角的 y 坐标。
bgcolor - 在图像的非透明部分下绘制的背景颜色。
observer - 当大多数图像被按比例缩放和转换后,将要通知的对象。
参见:
Image, ImageObserver, imageUpdate
dispose
 public abstract void dispose()
撤消该图形的上下文并释放它所使用的任何系统资源。在 dispose 方法被调用后, Graphics 对象将不能被使用。

当 Java 程序运行时,在很短的时间范围内可以创建许多 Graphics 对象。尽管垃圾回收站的终结过程也会撤消相同的系统资源,但是最好还是通过调用该方法手工释放相关资源,而不依靠终结过程,因为它在长时间内都不会运行以完成该工作。

作为组件的 paintupdate 方法的参数提供的图形对象,当这些方法返回时由系统自动释放。为了效率,仅当所使用的 Graphics 对象是由组件或另一个 Graphics 对象直接创建的,当使用完后程序应当调用 dispose 方法。

参见:
finalize, paint, update, getGraphics, create
finalize
 public void finalize()
一旦该图形上下文不再被引用就撤消它。

覆盖:
Object 中的 finalize
参见:
dispose
toString
 public String toString()
返回一个表示该 Graphics 对象的数值的 String 对象。

返回值:
该图形上下文的字符串表示。
覆盖:
Object 中的 toString
getClipRect
 public Rectangle getClipRect()
注意:不推荐使用 getClipRect() 方法。 同 JDK 1.1 版中的方法一样,用 getClipBounds() 方法替换。


当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)