词条 | graphics |
释义 | JAVA介绍java.awt 类 Graphicjava.lang.Object java.awt.Graphics java.lang.Object java.awt.Graphics直接已知子类: DebugGraphics, Graphics2D public abstract class Graphicsextends Object Graphics 类是所有图形上下文的抽象基类,允许应用程序可 以在组件(已经在各种设备上实现),以及闭屏图像上,进行绘制。 public abstract class Graphicsextends Object Graphics 类是所有图形上下文的抽象基类,允许应用程序可以在组件(已经在各种设备上实现),以及闭屏图像上,进行绘制。 Graphics 对象封装了 Java 支持的基本呈现操作所需的状态信息。 属性(1) 要在其上绘制的 Component 对象。 (2) 呈现和剪贴坐标的转换原点。 (3) 当前剪贴区。 (4) 当前颜色。 (5) 当前字体。 (6) 当前的逻辑像素操作函数(XOR 或 Paint)。 (7) 当前 XOR 交替颜色(参见 setXORMode(java.awt.Color)。 坐标是无限细分的,并且位于输出设备的像素之间。绘制图形轮廓的操作是通过使用像素大小的画笔遍历像素间无限细分路径的操作,画笔从路径上的锚点向下和向右绘制。填充图形的操作是填充图形内部区域无限细分路径操作。呈现水平文本的操作是呈现字符字形完全位于基线坐标之上的上升部分。 图形画笔从要遍历的路径向下和向右绘制。 含义(1) 如果绘制一个覆盖给定矩形的图形,那么该图形与填充被相同矩形所限定的图形相比,在右侧和底边多占用一行像素。 (2) 如果沿着与一行文本基线相同的 y 坐标绘制一条水平线,那么除了文字的所有下降部分外,该线完全画在文本的下面。 所有作为此 Graphics 对象方法的参数而出现的坐标,都是相对于调用该方法前的此 Graphics 对象转换原点的。 所有呈现操作仅修改当前剪贴区所限定区域内的像素,此剪贴区是由用户空间中的 Shape 指定的,并且通过使用 Graphics 对象的程序来控制。此用户剪贴区 被转换到设备空间中,并且与设备剪贴区 组合,后者是通过窗口可见性和设备范围定义的。用户剪贴区和设备剪贴区的组合定义了复合剪贴区,它确定了最终的剪贴区域。用户剪贴区不能由呈现系统修改,以反映得到的复合剪贴区。用户剪贴区只能通过 setClip 或 clipRect 方法更改。所有的绘制或写入都以当前的颜色、当前绘图模式和当前字体完成的。 构造方法摘要protected Graphics()构造一个新的 Graphics 对象。此构造方法是用于图形上下文的默认构造方法。 因为 Graphics 是一个抽象类,所以应用程序不能直接调用此构造方法。图形上下文从其他图形上下文获取,或者通过在组件上调用 getGraphics 来创建。 方法摘要abstract void clearRect(int x, int y, int width, int height) abstract void clipRect(int x, int y, int width, int height) abstract void copyArea(int x, int y, int width, int height, int dx, int dy) abstract Graphics create() Graphics create(int x, int y, int width, int height) abstract void dispose() void draw3DRect(int x, int y, int width, int height, boolean raised) abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) void drawBytes(byte[] data, int offset, int length, int x, int y) void drawChars(char[] data, int offset, int length, int x, int y) abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) abstract boolean drawImage(Image img, int x, int y, ImageObserver observer) abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) 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) abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) abstract void drawLine(int x1, int y1, int x2, int y2) abstract void drawOval(int x, int y, int width, int height) abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) void drawPolygon(Polygon p) abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints) void drawRect(int x, int y, int width, int height) abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) abstract void drawString(AttributedCharacterIterator iterator, int x, int y) abstract void drawString(String str, int x, int y) void fill3DRect(int x, int y, int width, int height, boolean raised) abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) abstract void fillOval(int x, int y, int width, int height) abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) void fillPolygon(Polygon p) abstract void fillRect(int x, int y, int width, int height) abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) void finalize() abstract Shape getClip() abstract Rectangle getClipBounds() Rectangle getClipBounds(Rectangle r) Rectangle getClipRect() abstract Color getColor() abstract Font getFont() FontMetrics getFontMetrics() abstract FontMetrics getFontMetrics(Font f) boolean hitClip(int x, int y, int width, int height) abstract void setClip(int x, int y, int width, int height) abstract void setClip(Shape clip) abstract void setColor(Color c) abstract void setFont(Font font) abstract void setPaintMode() abstract void setXORMode(Color c1) String toString() abstract void translate(int x, int y) C#方法命名空间:System.Drawing 程序集:System.Drawing(在system.drawing.dll 中) 封装一个GDI+绘图图面。无法继承此类。 用法public sealed class Graphics : MarshalByRefObject, IDeviceContext, IDisposable System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);//画笔System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);//画刷System.Drawing.Graphics formGraphics = this.CreateGraphics(); formGraphics.FillEllipse(myBrush, new Rectangle(0,0,100,200));//画实心椭圆 formGraphics.DrawEllipse(myPen, new Rectangle(0,0,100,200));//空心圆 formGraphics.FillRectangle(myBrush, new Rectangle(0,0,100,200));//画实心方 formGraphics.DrawRectangle(myPen, new Rectangle(0,0,100,200));//空心矩形 formGraphics.DrawLine(myPen, 0, 0, 200, 200);//画线 formGraphics.DrawPie(myPen,90,80,140,40,120,100); //画馅饼图形//画多边形 formGraphics.DrawPolygon(myPen,new Point[]{ new Point(30,140), new Point(270,250), new Point(110,240), new Point (200,170), new Point(70,350), new Point(50,200)}); //清理使用的资源myPen.Dispose(); myBrush.Dispose(); formGraphics.Dispose(); 使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像,所用到的属性和方法如表所示。 as3 绘图类GraphicFlash中的绘图是通过Graphics类实现的,Graphics类直接继承Object类,有两种绘图方法,一是定义绘图样式的方法;一种是用于绘制和清除图形的方法。 Graphics类有关样式的方法包括线条样式和填充样式两类。如下表: Graphics类的绘图样式方法 方法名 说明 lineStyle 定义线条样式 lineGradientStyle 定义渐变线条样式 beginFill 定义固体填充样式 beginGradientFill 定义渐变填充样式 beginBitmapFill 定义位图填充 endFill 结束填充方法Graphics类的绘制图形方法 方法名 说明 moveTo 定义绘制线条的起点 lineTo 定义绘制线条的终点 curveTo 绘制曲线 drawCircle 绘制圆形 drawEllipse 绘制椭圆 drawRect 绘制矩形 drawRoundRect 绘制圆角矩形 Clear 清除绘图Graphics类不允许用户来创建实例,要使用Graphics类的方法,要借助于Shape类和Sprite类的实例,这些实例具有graphics属性,graphics属性是Graphics类的实例,通过graphics属性就可以调用绘图的方法。 显示实例名. graphics.lineStyle() 我们经常使用Shape类来绘制图形,因为Shape类只有graphics属性和构造方法,所以使用Shape类来绘制图形的效率会更高。当需要图形的交互功能时,可以考虑使用Sprite类和MovieClip类。 绘制曲线可以使用curveTo()方法,curveTo()方法带有4个参数,即controlx,controly,anchorx,anchory。其中,controlx和controly是控制点的坐标,anchorx和anchory是终点坐标,起点坐标可由moveTo方法指定。用curveTo()方法的关键是控制点的确定,控制点相当于曲线起始点和终点切线的交点。 绘制填充图形只需了解绘图方法的参数。在填充绘图时,如果填充结束时,需要调用endFill方法表示结束填充。除了使用纯色填充外,还可以使用渐变填充和位图填充。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。