⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mxrectangle.java

📁 经典的java图像处理程序源码
💻 JAVA
字号:
/** * $Id: mxRectangle.java,v 1.7 2009/05/02 11:46:36 gaudenz Exp $ * Copyright (c) 2007, Gaudenz Alder */package com.mxgraph.util;import java.awt.Rectangle;import java.awt.geom.Rectangle2D;/** * Implements a 2-dimensional rectangle with double precision coordinates. */public class mxRectangle extends mxPoint{	/**	 * Holds the width and the height. Default is 0.	 */	protected double width, height;	/**	 * Constructs a new rectangle at (0, 0) with the width and height set to 0.	 */	public mxRectangle()	{		this(0, 0, 0, 0);	}	/**	 * Constructs a copy of the given rectangle.	 * 	 * @param rect Rectangle to construct a copy of.	 */	public mxRectangle(Rectangle2D rect)	{		this(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());	}	/**	 * Constructs a copy of the given rectangle.	 * 	 * @param rect Rectangle to construct a copy of.	 */	public mxRectangle(mxRectangle rect)	{		this(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());	}	/**	 * Constructs a rectangle using the given parameters.	 * 	 * @param x X-coordinate of the new rectangle.	 * @param y Y-coordinate of the new rectangle.	 * @param width Width of the new rectangle.	 * @param height Height of the new rectangle.	 */	public mxRectangle(double x, double y, double width, double height)	{		super(x, y);		setWidth(width);		setHeight(height);	}	/**	 * Returns the width of the rectangle.	 * 	 * @return Returns the width.	 */	public double getWidth()	{		return width;	}	/**	 * Sets the width of the rectangle.	 * 	 * @param value Double that specifies the new width.	 */	public void setWidth(double value)	{		width = value;	}	/**	 * Returns the height of the rectangle.	 * 	 * @return Returns the height.	 */	public double getHeight()	{		return height;	}	/**	 * Sets the height of the rectangle.	 * 	 * @param value Double that specifies the new height.	 */	public void setHeight(double value)	{		height = value;	}	/**	 * Adds the given rectangle to this rectangle.	 */	public void add(mxRectangle rect)	{		if (rect != null)		{			double minX = Math.min(x, rect.x);			double minY = Math.min(y, rect.y);			double maxX = Math.max(x + width, rect.x + rect.width);			double maxY = Math.max(y + height, rect.y + rect.height);			x = minX;			y = minY;			width = maxX - minX;			height = maxY - minY;		}	}	/**	 * Returns the x-coordinate of the center.	 * 	 * @return Returns the x-coordinate of the center.	 */	public double getCenterX()	{		return getX() + getWidth() / 2;	}	/**	 * Returns the y-coordinate of the center.	 * 	 * @return Returns the y-coordinate of the center.	 */	public double getCenterY()	{		return getY() + getHeight() / 2;	}	/**	 * Grows the rectangle by the given amount, that is, this method subtracts	 * the given amount from the x- and y-coordinates and adds twice the amount	 * to the width and height.	 *	 * @param amount Amount by which the rectangle should be grown.	 */	public void grow(double amount)	{		x -= amount;		y -= amount;		width += 2 * amount;		height += 2 * amount;	}	/**	 * Returns true if the given point is contained in the rectangle.	 * 	 * @param x X-coordinate of the point.	 * @param y Y-coordinate of the point.	 * @return Returns true if the point is contained in the rectangle.	 */	public boolean contains(double x, double y)	{		return (this.x <= x && this.x + width >= x && this.y <= y && this.y				+ height >= y);	}	/**	 * Returns the bounds as a new rectangle.	 * 	 * @return Returns a new rectangle for the bounds.	 */	public Rectangle getRectangle()	{		int ix = (int) Math.round(x);		int iy = (int) Math.round(y);		int iw = (int) Math.round(width - ix + x);		int ih = (int) Math.round(height - iy + y);		return new Rectangle(ix, iy, iw, ih);	}		/**	 * 	 * Returns true if the given object equals this rectangle.	 */	public boolean equals(Object obj)	{		if (obj instanceof mxRectangle)		{			mxRectangle rect = (mxRectangle) obj;						return rect.getX() == getX() &&				rect.getY() == getY() &&				rect.getWidth() == getWidth() &&				rect.getHeight() == getHeight();		}				return false;	}	/**	 * Returns a new instance of the same rectangle.	 */	public Object clone()	{		mxRectangle clone = (mxRectangle) super.clone();		clone.setWidth(getWidth());		clone.setHeight(getHeight());		return clone;	}}

⌨️ 快捷键说明

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