ppgraphics2d.java

来自「EXCEL read and write」· Java 代码 · 共 1,499 行 · 第 1/5 页

JAVA
1,499
字号
     * arrays of <i>x</i> and <i>y</i> coordinates.     * <p>     * This method draws the polygon defined by <code>nPoint</code> line     * segments, where the first <code>nPoint&nbsp;-&nbsp;1</code>     * line segments are line segments from     * <code>(xPoints[i&nbsp;-&nbsp;1],&nbsp;yPoints[i&nbsp;-&nbsp;1])</code>     * to <code>(xPoints[i],&nbsp;yPoints[i])</code>, for     * 1&nbsp;&le;&nbsp;<i>i</i>&nbsp;&le;&nbsp;<code>nPoints</code>.     * The figure is automatically closed by drawing a line connecting     * the final point to the first point, if those points are different.     * <p>     * The area inside the polygon is defined using an     * even-odd fill rule, also known as the alternating rule.     * @param        xPoints   a an array of <code>x</code> coordinates.     * @param        yPoints   a an array of <code>y</code> coordinates.     * @param        nPoints   a the total number of points.     * @see          java.awt.Graphics#drawPolygon(int[], int[], int)     */    public void fillPolygon(int[] xPoints, int[] yPoints,                            int nPoints){        java.awt.Polygon polygon = new java.awt.Polygon(xPoints, yPoints, nPoints);        fill(polygon);    }    /**     * Fills the specified rectangle.     * The left and right edges of the rectangle are at     * <code>x</code> and <code>x&nbsp;+&nbsp;width&nbsp;-&nbsp;1</code>.     * The top and bottom edges are at     * <code>y</code> and <code>y&nbsp;+&nbsp;height&nbsp;-&nbsp;1</code>.     * The resulting rectangle covers an area     * <code>width</code> pixels wide by     * <code>height</code> pixels tall.     * The rectangle is filled using the graphics context's current color.     * @param         x   the <i>x</i> coordinate     *                         of the rectangle to be filled.     * @param         y   the <i>y</i> coordinate     *                         of the rectangle to be filled.     * @param         width   the width of the rectangle to be filled.     * @param         height   the height of the rectangle to be filled.     * @see           java.awt.Graphics#clearRect     * @see           java.awt.Graphics#drawRect     */    public void fillRect(int x, int y, int width, int height){        Rectangle rect = new Rectangle(x, y, width, height);        fill(rect);    }    /**     * Draws the outline of the specified rectangle.     * The left and right edges of the rectangle are at     * <code>x</code> and <code>x&nbsp;+&nbsp;width</code>.     * The top and bottom edges are at     * <code>y</code> and <code>y&nbsp;+&nbsp;height</code>.     * The rectangle is drawn using the graphics context's current color.     * @param         x   the <i>x</i> coordinate     *                         of the rectangle to be drawn.     * @param         y   the <i>y</i> coordinate     *                         of the rectangle to be drawn.     * @param         width   the width of the rectangle to be drawn.     * @param         height   the height of the rectangle to be drawn.     * @see          java.awt.Graphics#fillRect     * @see          java.awt.Graphics#clearRect     */    public void drawRect(int x, int y, int width, int height) {        Rectangle rect = new Rectangle(x, y, width, height);        draw(rect);    }    /**     * Draws a closed polygon defined by     * arrays of <i>x</i> and <i>y</i> coordinates.     * Each pair of (<i>x</i>,&nbsp;<i>y</i>) coordinates defines a point.     * <p>     * This method draws the polygon defined by <code>nPoint</code> line     * segments, where the first <code>nPoint&nbsp;-&nbsp;1</code>     * line segments are line segments from     * <code>(xPoints[i&nbsp;-&nbsp;1],&nbsp;yPoints[i&nbsp;-&nbsp;1])</code>     * to <code>(xPoints[i],&nbsp;yPoints[i])</code>, for     * 1&nbsp;&le;&nbsp;<i>i</i>&nbsp;&le;&nbsp;<code>nPoints</code>.     * The figure is automatically closed by drawing a line connecting     * the final point to the first point, if those points are different.     * @param        xPoints   a an array of <code>x</code> coordinates.     * @param        yPoints   a an array of <code>y</code> coordinates.     * @param        nPoints   a the total number of points.     * @see          java.awt.Graphics#fillPolygon(int[],int[],int)     * @see          java.awt.Graphics#drawPolyline     */    public void drawPolygon(int[] xPoints, int[] yPoints,                            int nPoints){        java.awt.Polygon polygon = new java.awt.Polygon(xPoints, yPoints, nPoints);        draw(polygon);    }    /**     * Intersects the current clip with the specified rectangle.     * The resulting clipping area is the intersection of the current     * clipping area and the specified rectangle.  If there is no     * current clipping area, either because the clip has never been     * set, or the clip has been cleared using <code>setClip(null)</code>,     * the specified rectangle becomes the new clip.     * This method sets the user clip, which is independent of the     * clipping associated with device bounds and window visibility.     * This method can only be used to make the current clip smaller.     * To set the current clip larger, use any of the setClip methods.     * Rendering operations have no effect outside of the clipping area.     * @param x the x coordinate of the rectangle to intersect the clip with     * @param y the y coordinate of the rectangle to intersect the clip with     * @param width the width of the rectangle to intersect the clip with     * @param height the height of the rectangle to intersect the clip with     * @see #setClip(int, int, int, int)     * @see #setClip(Shape)     */    public void clipRect(int x, int y, int width, int height){        clip(new Rectangle(x, y, width, height));    }    /**     * Sets the current clipping area to an arbitrary clip shape.     * Not all objects that implement the <code>Shape</code>     * interface can be used to set the clip.  The only     * <code>Shape</code> objects that are guaranteed to be     * supported are <code>Shape</code> objects that are     * obtained via the <code>getClip</code> method and via     * <code>Rectangle</code> objects.  This method sets the     * user clip, which is independent of the clipping associated     * with device bounds and window visibility.     * @param clip the <code>Shape</code> to use to set the clip     * @see         java.awt.Graphics#getClip()     * @see         java.awt.Graphics#clipRect     * @see         java.awt.Graphics#setClip(int, int, int, int)     * @since       JDK1.1     */    public void setClip(Shape clip) {        log.log(POILogger.WARN, "Not implemented");    }    /**     * Returns the bounding rectangle of the current clipping area.     * This method refers to the user clip, which is independent of the     * clipping associated with device bounds and window visibility.     * If no clip has previously been set, or if the clip has been     * cleared using <code>setClip(null)</code>, this method returns     * <code>null</code>.     * The coordinates in the rectangle are relative to the coordinate     * system origin of this graphics context.     * @return      the bounding rectangle of the current clipping area,     *              or <code>null</code> if no clip is set.     * @see         java.awt.Graphics#getClip     * @see         java.awt.Graphics#clipRect     * @see         java.awt.Graphics#setClip(int, int, int, int)     * @see         java.awt.Graphics#setClip(Shape)     * @since       JDK1.1     */    public Rectangle getClipBounds(){        Shape c = getClip();        if(c==null)            return null;        else            return c.getBounds();    }    /**     * Draws the text given by the specified iterator, using this     * graphics context's current color. The iterator has to specify a font     * for each character. The baseline of the     * first character is at position (<i>x</i>,&nbsp;<i>y</i>) in this     * graphics context's coordinate system.     * @param       iterator the iterator whose text is to be drawn     * @param       x        the <i>x</i> coordinate.     * @param       y        the <i>y</i> coordinate.     * @see         java.awt.Graphics#drawBytes     * @see         java.awt.Graphics#drawChars     */    public void drawString(AttributedCharacterIterator iterator,                           int x, int y){        drawString(iterator, (float)x, (float)y);    }    /**     * Clears the specified rectangle by filling it with the background     * color of the current drawing surface. This operation does not     * use the current paint mode.     * <p>     * Beginning with Java&nbsp;1.1, the background color     * of offscreen images may be system dependent. Applications should     * use <code>setColor</code> followed by <code>fillRect</code> to     * ensure that an offscreen image is cleared to a specific color.     * @param       x the <i>x</i> coordinate of the rectangle to clear.     * @param       y the <i>y</i> coordinate of the rectangle to clear.     * @param       width the width of the rectangle to clear.     * @param       height the height of the rectangle to clear.     * @see         java.awt.Graphics#fillRect(int, int, int, int)     * @see         java.awt.Graphics#drawRect     * @see         java.awt.Graphics#setColor(java.awt.Color)     * @see         java.awt.Graphics#setPaintMode     * @see         java.awt.Graphics#setXORMode(java.awt.Color)     */    public void clearRect(int x, int y, int width, int height) {        Paint paint = getPaint();        setColor(getBackground());        fillRect(x, y, width, height);        setPaint(paint);    }    public void copyArea(int x, int y, int width, int height, int dx, int dy) {        ;    }    /**     * Sets the current clip to the rectangle specified by the given     * coordinates.  This method sets the user clip, which is     * independent of the clipping associated with device bounds     * and window visibility.     * Rendering operations have no effect outside of the clipping area.     * @param       x the <i>x</i> coordinate of the new clip rectangle.     * @param       y the <i>y</i> coordinate of the new clip rectangle.     * @param       width the width of the new clip rectangle.     * @param       height the height of the new clip rectangle.     * @see         java.awt.Graphics#clipRect     * @see         java.awt.Graphics#setClip(Shape)     * @since       JDK1.1     */    public void setClip(int x, int y, int width, int height){        setClip(new Rectangle(x, y, width, height));    }    /**     * Concatenates the current <code>Graphics2D</code>     * <code>Transform</code> with a rotation transform.     * Subsequent rendering is rotated by the specified radians relative     * to the previous origin.     * This is equivalent to calling <code>transform(R)</code>, where R is an     * <code>AffineTransform</code> represented by the following matrix:     * <pre>     *          [   cos(theta)    -sin(theta)    0   ]     *          [   sin(theta)     cos(theta)    0   ]     *          [       0              0         1   ]     * </pre>     * Rotating with a positive angle theta rotates points on the positive     * x axis toward the positive y axis.     * @param theta the angle of rotation in radians     */    public void rotate(double theta){        transform.rotate(theta);    }    /**     * Concatenates the current <code>Graphics2D</code>     * <code>Transform</code> with a translated rotation     * transform.  Subsequent rendering is transformed by a transform     * which is constructed by translating to the specified location,     * rotating by the specified radians, and translating back by the same     * amount as the original translation.  This is equivalent to the     * following sequence of calls:     * <pre>     *          translate(x, y);     *          rotate(theta);     *          translate(-x, -y);     * </pre>     * Rotating with a positive angle theta rotates points on the positive     * x axis toward the positive y axis.     * @param theta the angle of rotation in radians     * @param x x coordinate of the origin of the rotation     * @param y y coordinate of the origin of the rotation     */    public void rotate(double theta, double x, double y){        transform.rotate(theta, x, y);    }    /**     * Concatenates the current <code>Graphics2D</code>     * <code>Transform</code> with a shearing transform.     * Subsequent renderings are sheared by the specified     * multiplier relative to the previous position.     * This is equivalent to calling <code>transform(SH)</code>, where SH     * is an <code>AffineTransform</code> represented by the following     * matrix:     * <pre>     *          [   1   shx   0   ]     *          [  shy   1    0   ]     *          [   0    0    1   ]     * </pre>     * @param shx the multiplier by which coordinates are shifted in     * the positive X axis direction as a function of their Y coordinate     * @param shy the multiplier by which coordinates are shifted in     * the positive Y axis direction as a function of their X coordinate     */    public void shear(double shx, double shy){        transform.shear(shx, shy);    }    /**     * Get the rendering context of the <code>Font</code> within this     * <code>Graphics2D</code> context.     * The {@link FontRenderContext}     * encapsulates application hints such as anti-aliasing and     * fractional metrics, as well as target device specific information     * such as dots-per-inch.  This information should be provided by the     * application when using objects that perform typographical

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?