本文整理匯總了Java中java.awt.Rectangle.getMaxY方法的典型用法代碼示例。如果您正苦於以下問題:Java Rectangle.getMaxY方法的具體用法?Java Rectangle.getMaxY怎麽用?Java Rectangle.getMaxY使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.awt.Rectangle
的用法示例。
在下文中一共展示了Rectangle.getMaxY方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getShape
import java.awt.Rectangle; //導入方法依賴的package包/類
public Area getShape() {
Area maskArea = new Area();
Rectangle rect = new Rectangle(0, 0, reader.getWidth(), reader.getHeight());
GeometryFactory gf = new GeometryFactory();
Coordinate[] coords = new Coordinate[]{
new Coordinate((int) rect.getMinX(), (int) rect.getMinY()),
new Coordinate((int) rect.getMaxX(), (int) rect.getMinY()),
new Coordinate((int) rect.getMaxX(), (int) rect.getMaxY()),
new Coordinate((int) rect.getMinX(), (int) rect.getMaxY()),
new Coordinate((int) rect.getMinX(), (int) rect.getMinY()),
};
Polygon geom = gf.createPolygon(gf.createLinearRing(coords), null);
for (Geometry p : glayer.getGeometries()) {
if (p.intersects(geom)) {
int[] xPoints = new int[p.getNumPoints()];
int[] yPoints = new int[p.getNumPoints()];
int i = 0;
for (Coordinate c : p.getCoordinates()) {
xPoints[i] = (int) (c.x);
yPoints[i++] = (int) (c.y);
}
maskArea.add(new Area(new java.awt.Polygon(xPoints, yPoints, p.getNumPoints())));
}
}
return maskArea;
}
示例2: rasterize
import java.awt.Rectangle; //導入方法依賴的package包/類
/**
* rasterize the mask clipped with the Rectangle scaled back to full size with an offset onto a BufferedImage
*/
public BufferedImage rasterize(Rectangle rect, int offsetX, int offsetY, double scalingFactor) {
// create the buffered image of the size of the Rectangle
BufferedImage image = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_BYTE_BINARY);
GeometryFactory gf = new GeometryFactory();
// define the clipping region in full scale
Coordinate[] coords = new Coordinate[]{
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor)), (int) (((double) rect.getMaxY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMaxY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),};
Polygon geom = gf.createPolygon(gf.createLinearRing(coords));
Graphics g2d = image.getGraphics();
g2d.setColor(Color.white);
for (Geometry p : maskGeometries) {
/*if(p instanceof MultiPolygon){
p=p.getBoundary();
}*/
if (p.intersects(geom)) {
int[] xPoints = new int[p.getNumPoints()];//build array for x coordinates
int[] yPoints = new int[p.getNumPoints()];//build array for y coordinates
int i = 0;
for (Coordinate c : p.getCoordinates()) {
xPoints[i] = (int) ((c.x + offsetX ) * scalingFactor);
yPoints[i] = (int) ((c.y + offsetY ) * scalingFactor);
i++;
}
g2d.fillPolygon(xPoints, yPoints, i);
}
}
g2d.dispose();
return image;
}
示例3: rasterize
import java.awt.Rectangle; //導入方法依賴的package包/類
public BufferedImage rasterize(BufferedImage image, int offsetX, int offsetY, double scalingFactor) {
Rectangle rect = image.getRaster().getBounds();
GeometryFactory gf = new GeometryFactory();
Coordinate[] coords = new Coordinate[]{
new Coordinate((int) (((double) rect.getMinX() / scalingFactor) + offsetX), (int) (((double) rect.getMinY() / scalingFactor) + offsetY)),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor) + offsetX), (int) (((double) rect.getMinY() / scalingFactor) + offsetY)),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor) + offsetX), (int) (((double) rect.getMaxY() / scalingFactor) + offsetY)),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor) + offsetX), (int) (((double) rect.getMaxY() / scalingFactor) + offsetY)),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor) + offsetX), (int) (((double) rect.getMinY() / scalingFactor) + offsetY)),
};
Polygon geom = gf.createPolygon(gf.createLinearRing(coords), null);
Graphics g2d = image.getGraphics();
g2d.setColor(Color.WHITE);
for (Geometry p : glayer.getGeometries()) {
if (p.intersects(geom)) {
int[] xPoints = new int[p.getNumPoints()];
int[] yPoints = new int[p.getNumPoints()];
int i = 0;
for (Coordinate c : p.getCoordinates()) {
xPoints[i] = (int) ((c.x - offsetX) * scalingFactor);
yPoints[i++] = (int) ((c.y - offsetY) * scalingFactor);
}
g2d.fillPolygon(xPoints, yPoints, p.getNumPoints());
}
}
g2d.dispose();
return image;
}
示例4: contains
import java.awt.Rectangle; //導入方法依賴的package包/類
public boolean contains(Rectangle rectangle, int row, int column) {
if (rectangle == null)
return true;
double px = column * (pageWidth + W_SPACE / zoom) * getZoom();
double py = row * (pageHeight + W_SPACE / zoom) * getZoom();
double r = (width + W_SPACE / zoom) * getZoom() + px;
double b = (height + W_SPACE / zoom) * getZoom() + py;
double rx = rectangle.getX();
double ry = rectangle.getY();
double rr = rectangle.getMaxX();
double rb = rectangle.getMaxY();
if (((px <= rr) && (px >= rx)) || ((r <= rr) && (r >= rx))
|| ((rr <= r) && (rr >= px)) || ((rx <= r) && (rx >= px))) {
return (((py <= rb) && (py >= ry)) || ((b <= rb) && (b >= ry))
|| ((rb <= b) && (rb >= py)) || ((ry <= b) && (ry >= py)));
}
return false;
}
示例5: scrollNow
import java.awt.Rectangle; //導入方法依賴的package包/類
/**
* Start scrolling.
*/
private void scrollNow() {
if (mouseOnScreenPoint != null && target.isShowing()) {
Point origin = target.getLocationOnScreen();
Point relative = new Point(mouseOnScreenPoint.x - origin.x, mouseOnScreenPoint.y - origin.y);
Rectangle visibleRect = target.getVisibleRect();
if (!visibleRect.contains(relative)) {
int destX = relative.x;
if (relative.getX() < visibleRect.getMinX()) {
destX = (int) visibleRect.getMinX() - PAN_STEP_SIZE;
}
if (relative.getX() > visibleRect.getMaxX()) {
destX = (int) visibleRect.getMaxX() + PAN_STEP_SIZE;
}
int destY = relative.y;
if (relative.getY() < visibleRect.getMinY()) {
destY = (int) visibleRect.getMinY() - PAN_STEP_SIZE;
}
if (relative.getY() > visibleRect.getMaxY()) {
destY = (int) visibleRect.getMaxY() + PAN_STEP_SIZE;
}
target.scrollRectToVisible(new Rectangle(new Point(destX, destY)));
}
}
}
示例6: rasterizeJTS
import java.awt.Rectangle; //導入方法依賴的package包/類
/**
* rasterize the mask clipped with the Rectangle scaled back to full size with an offset onto a BufferedImage
*/
public BufferedImage rasterizeJTS(Rectangle rect, int offsetX, int offsetY, double scalingFactor) {
// create the buffered image of the size of the Rectangle
BufferedImage image = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_BYTE_BINARY);
GeometryFactory gf = new GeometryFactory();
// define the clipping region in full scale
Coordinate[] coords = new Coordinate[]{
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor)), (int) (((double) rect.getMaxY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMaxY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),};
Polygon geom = gf.createPolygon(gf.createLinearRing(coords));
for (Geometry p : maskGeometries) {
if (p.intersects(geom)) {
Geometry pg=p.intersection(geom).buffer(0);
//Coordinate[] coordsInter=gg.getCoordinates();
//Polygon pg=gf.createPolygon(coordsInter);
for(int x=0;x<rect.width;x++){
for(int y=0;y<rect.height;y++){
Point point=gf.createPoint(new Coordinate(rect.x+x,rect.y+y));
if(pg.contains(point)){
try{
image.setRGB(x,y, Color.WHITE.getRGB());
}catch(Exception e){
logger.error(e.getMessage()+" x:"+x+" y:"+y);
}
}
}
}
}
}
return image;
}
示例7: getShape
import java.awt.Rectangle; //導入方法依賴的package包/類
public Area getShape(int width, int height) {
Area maskArea = new Area();
Rectangle rect = new Rectangle(0, 0, width,height);//reader.getWidth(), reader.getHeight());
GeometryFactory gf = new GeometryFactory();
Coordinate[] coords = new Coordinate[]{
new Coordinate((int) rect.getMinX(), (int) rect.getMinY()),
new Coordinate((int) rect.getMaxX(), (int) rect.getMinY()),
new Coordinate((int) rect.getMaxX(), (int) rect.getMaxY()),
new Coordinate((int) rect.getMinX(), (int) rect.getMaxY()),
new Coordinate((int) rect.getMinX(), (int) rect.getMinY()),};
Polygon geom = gf.createPolygon(gf.createLinearRing(coords), null);
for (Geometry p : glayer.getGeometries()) {
if (p.intersects(geom)) {
int[] xPoints = new int[p.getNumPoints()];
int[] yPoints = new int[p.getNumPoints()];
int i = 0;
for (Coordinate c : p.getCoordinates()) {
xPoints[i] = (int) (c.x);
yPoints[i++] = (int) (c.y);
}
maskArea.add(new Area(new java.awt.Polygon(xPoints, yPoints, p.getNumPoints())));
}
}
return maskArea;
}
示例8: moveToCenterAndScale
import java.awt.Rectangle; //導入方法依賴的package包/類
public static BufferedImage moveToCenterAndScale(BufferedImage im, Consumer<BufferedImage> con, int pause)
{
Graphics g;
Point centerOfPixels = getCenterOfPixels(im);
letDraw(im, con, pause);
int width = im.getWidth();
int heigth = im.getHeight();
int dx = (width / 2) - centerOfPixels.x;
int dy = (heigth / 2) - centerOfPixels.y;
BufferedImage moved = new BufferedImage(width, heigth, BufferedImage.TYPE_INT_ARGB);
g = moved.createGraphics();
g.drawImage(im, dx, dy, null);
letDraw(moved, con, pause);
Rectangle movedBounds = getContentBounds(moved);
int disX0 = width / 2 - movedBounds.x;
int disY0 = heigth / 2 - movedBounds.y;
int disX1 = (int)movedBounds.getMaxX() - width / 2;
int disY1 = (int)movedBounds.getMaxY() - heigth / 2;
int maxDis = Math.max(Math.max(disX0, disX1), Math.max(disY0, disY1));
double scaleFactor = (width / 2.0 - OFFSET_TO_IMAGE_BORDER) / maxDis;
int offset = (int)((-maxDis + width / 2) * scaleFactor) - OFFSET_TO_IMAGE_BORDER;
BufferedImage scaled = new BufferedImage(width, heigth, BufferedImage.TYPE_INT_ARGB);
g = scaled.createGraphics();
g.drawImage(moved, -offset, -offset, (int)(width * scaleFactor), (int)(heigth * scaleFactor), null);
letDraw(scaled, con, pause);
return scaled;
}
示例9: paint
import java.awt.Rectangle; //導入方法依賴的package包/類
public void paint(Graphics2D g, StateColorMap colorMap) {
Rectangle bounds = g.getClipBounds();
if (startY > bounds.getMaxY() || startY + height < bounds.getMinY()) {
return;
}
int x = line.getX();
int width = line.getWidth();
Color color = colorMap.getColor(stateName);
g.setColor(color);
g.fillRoundRect(x, startY, width, height, ARC_SIZE, ARC_SIZE);
g.setColor(Color.BLACK);
}
示例10: highlight
import java.awt.Rectangle; //導入方法依賴的package包/類
public void highlight(Graphics2D g) {
Rectangle bounds = g.getClipBounds();
if (startY > bounds.getMaxY() || startY + height < bounds.getMinY()) {
return;
}
int x = line.getX();
int width = line.getWidth();
g.drawRoundRect(x, startY, width, height, ARC_SIZE, ARC_SIZE);
}
示例11: rasterMaskJTS
import java.awt.Rectangle; //導入方法依賴的package包/類
/**
* rasterize the mask clipped with the Rectangle scaled back to full size with an offset onto a BufferedImage
*/
public int[] rasterMaskJTS(Rectangle rect, int offsetX, int offsetY, double scalingFactor) {
// create the buffered image of the size of the Rectangle
int[] mask = new int[rect.width* rect.height];
GeometryFactory gf = new GeometryFactory();
// define the clipping region in full scale
Coordinate[] coords = new Coordinate[]{
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMaxX() / scalingFactor)), (int) (((double) rect.getMaxY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMaxY() / scalingFactor))),
new Coordinate((int) (((double) rect.getMinX() / scalingFactor)), (int) (((double) rect.getMinY() / scalingFactor))),};
Polygon geom = gf.createPolygon(gf.createLinearRing(coords));
PreparedPolygon ppol=new PreparedPolygon(geom);
int numPix=rect.width*rect.height;
for (Geometry p : maskGeometries) {
if (ppol.intersects(p)) {
Geometry pg=p.intersection(geom).buffer(0);
IndexedPointInAreaLocator locator=new IndexedPointInAreaLocator(pg);
int x=0;
int y=0;
for(int ii=0;ii<numPix;ii++){
if(ii%rect.width==0){
x=0;
y++;
}
//Point point=gf.createPoint(new Coordinate(rect.x+x,rect.y+y));
//PreparedPoint ppoint=new PreparedPoint(point);
//if(ppoint.within(pg)){
int loc=locator.locate(new Coordinate(rect.x+x,rect.y+y));
if(loc==Location.INTERIOR||loc==Location.BOUNDARY)
try{
mask[x]=1;
}catch(Exception e){
logger.warn(e.getMessage()+" x:"+x+" y:"+y);
}
}
}
//}
}
return mask;
}
示例12: printView
import java.awt.Rectangle; //導入方法依賴的package包/類
private boolean printView(final Graphics2D graphics2D,
final Shape allocation, final View view) {
boolean pageExists = false;
final Rectangle clipRectangle = new Rectangle(0, 0, (int) (pageFormat
.getImageableWidth() / SCALE), (int) clientHeight);
Shape childAllocation;
View childView;
if (view.getViewCount() > 0) {
for (int i = 0; i < view.getViewCount(); i++) {
childAllocation = view.getChildAllocation(i, allocation);
if (childAllocation != null) {
childView = view.getView(i);
if (printView(graphics2D, childAllocation, childView)) {
pageExists = true;
}
}
}
} else {
if (allocation.getBounds().getMaxY() >= clipRectangle.getY()) {
if (allocation.getBounds().getHeight() > clipRectangle
.getHeight()
&& allocation.intersects(clipRectangle)) {
paintView(graphics2D, view, allocation);
pageExists = true;
} else {
if (allocation.getBounds().getY() >= clipRectangle.getY()) {
if (allocation.getBounds().getMaxY() <= clipRectangle
.getMaxY()) {
paintView(graphics2D, view, allocation);
pageExists = true;
} else {
if (allocation.getBounds().getY() < pageEndY) {
pageEndY = allocation.getBounds().getY();
}
}
}
}
}
}
return pageExists;
}
示例13: moveLocation
import java.awt.Rectangle; //導入方法依賴的package包/類
/**
* Moves the current location by a given amount.
*
* @param dr the number of rows by which to move the location
* @param dc the number of columns by which to move the location
*/
public void moveLocation(int dr, int dc) {
Location newLocation = new Location(currentLocation.getRow() + dr,
currentLocation.getCol() + dc);
if (!grid.isValid(newLocation))
return;
currentLocation = newLocation;
JViewport viewPort = getEnclosingViewport();
if (isPannableUnbounded()) {
if (originRow > currentLocation.getRow())
originRow = currentLocation.getRow();
if (originCol > currentLocation.getCol())
originCol = currentLocation.getCol();
Dimension dim = viewPort.getSize();
int rows = dim.height / (cellSize + 1);
int cols = dim.width / (cellSize + 1);
if (originRow + rows - 1 < currentLocation.getRow())
originRow = currentLocation.getRow() - rows + 1;
if (originCol + rows - 1 < currentLocation.getCol())
originCol = currentLocation.getCol() - cols + 1;
} else if (viewPort != null) {
int dx = 0;
int dy = 0;
Point p = pointForLocation(currentLocation);
Rectangle locRect = new Rectangle(p.x - cellSize / 2, p.y
- cellSize / 2, cellSize + 1, cellSize + 1);
Rectangle viewRect = viewPort.getViewRect();
if (!viewRect.contains(locRect)) {
while (locRect.x < viewRect.x + dx)
dx -= cellSize + 1;
while (locRect.y < viewRect.y + dy)
dy -= cellSize + 1;
while (locRect.getMaxX() > viewRect.getMaxX() + dx)
dx += cellSize + 1;
while (locRect.getMaxY() > viewRect.getMaxY() + dy)
dy += cellSize + 1;
Point pt = viewPort.getViewPosition();
pt.x += dx;
pt.y += dy;
viewPort.setViewPosition(pt);
}
}
repaint();
showTip(getToolTipText(currentLocation),
pointForLocation(currentLocation));
}