Here you can find the source of drawImageInOval(Graphics2D gr, Image img, Rectangle r, boolean noShrink)
Parameter | Description |
---|---|
gr | non-null graphic context |
img | non-null image |
r | non-null rectangle |
obs | non-null observer |
public static void drawImageInOval(Graphics2D gr, Image img, Rectangle r, boolean noShrink)
//package com.java2s; //License from project: Apache License import java.awt.*; import java.awt.geom.Ellipse2D; public class Main { /**/*from w w w. ja v a 2 s .co m*/ * draw an image in a rectangle * * @param gr non-null graphic context * @param img non-null image * @param r non-null rectangle * @param obs non-null observer */ public static void drawImageInOval(Graphics2D gr, Image img, Rectangle r, boolean noShrink) { Shape oldclip = gr.getClip(); Ellipse2D clip = new Ellipse2D.Double(r.getX(), r.getY(), r.getWidth(), r.getHeight()); gr.clip(clip); if (noShrink) { int imgwidth = img.getWidth(null); int imgheight = img.getHeight(null); if (imgwidth > r.width && imgheight > r.height) gr.drawImage(img, r.x, r.y, imgwidth, imgheight, null); else gr.drawImage(img, r.x, r.y, r.width, r.height, null); } else { gr.drawImage(img, r.x, r.y, r.width, r.height, null); } gr.clip(oldclip); } }