當前位置: 首頁>>代碼示例>>Java>>正文


Java GeneralPath.moveTo方法代碼示例

本文整理匯總了Java中java.awt.geom.GeneralPath.moveTo方法的典型用法代碼示例。如果您正苦於以下問題:Java GeneralPath.moveTo方法的具體用法?Java GeneralPath.moveTo怎麽用?Java GeneralPath.moveTo使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.awt.geom.GeneralPath的用法示例。


在下文中一共展示了GeneralPath.moveTo方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: polygon

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
/**
 * Draws a polygon with the vertices 
 * (<em>x</em><sub>0</sub>, <em>y</em><sub>0</sub>),
 * (<em>x</em><sub>1</sub>, <em>y</em><sub>1</sub>), ...,
 * (<em>x</em><sub><em>n</em>–1</sub>, <em>y</em><sub><em>n</em>–1</sub>).
 *
 * @param  x an array of all the <em>x</em>-coordinates of the polygon
 * @param  y an array of all the <em>y</em>-coordinates of the polygon
 * @throws IllegalArgumentException unless {@code x[]} and {@code y[]}
 *         are of the same length
 */
public static void polygon(double[] x, double[] y) {
    if (x == null) throw new IllegalArgumentException("x-coordinate array is null");
    if (y == null) throw new IllegalArgumentException("y-coordinate array is null");
    int n1 = x.length;
    int n2 = y.length;
    if (n1 != n2) throw new IllegalArgumentException("arrays must be of the same length");
    int n = n1;
    if (n == 0) return;

    GeneralPath path = new GeneralPath();
    path.moveTo((float) scaleX(x[0]), (float) scaleY(y[0]));
    for (int i = 0; i < n; i++)
        path.lineTo((float) scaleX(x[i]), (float) scaleY(y[i]));
    path.closePath();
    offscreen.draw(path);
    draw();
}
 
開發者ID:DCMMC,項目名稱:Java-Algorithms-Learning,代碼行數:29,代碼來源:StdDraw.java

示例2: plotXY

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
public void plotXY( Graphics2D g, 
			Rectangle2D bounds,
			double xScale, double yScale,
			int k) {
	GeneralPath path = new GeneralPath();
	boolean start = true;
	for( int i=0 ; i<rows.size() ; i++) {
		if( !plot[k][i] )continue;
		double[] row = (double[])rows.get(i);
		float x = (float)((row[k+1]-bounds.getX())*xScale);
		float y = (float)((row[0]-bounds.getY())*yScale);
		if( start ) {
			path.moveTo(x,y);
			start = false;
		} else path.lineTo(x,y);
	}
	g.setColor( Color.white );
	g.setStroke( new BasicStroke(3f) );
	g.draw(path);
	g.setColor( Color.black );
	g.setStroke( new BasicStroke(1f) );
	g.draw(path);
}
 
開發者ID:iedadata,項目名稱:geomapapp,代碼行數:24,代碼來源:BRGTable.java

示例3: getRegiaoDocumento

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
public Shape getRegiaoDocumento() {
    if (Regiao == null) {
        final int v1 = getHeight() / 3;
        final int h1 = getWidth() / 2;
        final int repo = v1 / 3;
        final int L = getLeft();
        final int T = getTop();
        final int TH = T + getHeight() - repo;
        final int LW = L + getWidth();
        CubicCurve2D c = new CubicCurve2D.Double();
        c.setCurve(L, TH, L + h1, TH + v1, LW - h1, TH - v1, LW, TH);
        GeneralPath pa = new GeneralPath();

        pa.moveTo(LW, TH);
        pa.lineTo(LW, T);
        pa.lineTo(L, T);
        pa.lineTo(L, TH);
        pa.append(c, true);
        Regiao = pa;
        final int ptToMove = 3;
        this.reposicionePonto[ptToMove] = new Point(0, -repo);
        ptsToMove[ptToMove] = 1;
    }
    return Regiao;
}
 
開發者ID:chcandido,項目名稱:brModelo,代碼行數:26,代碼來源:LivreBase.java

示例4: getOuterWindow

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
protected Shape getOuterWindow(Rectangle2D frame) {
    double radiusMargin = 0.02;
    double angleMargin = 1.5;
    Rectangle2D innerFrame = DialPlot.rectangleByRadius(frame, 
            this.innerRadius - radiusMargin, this.innerRadius 
            - radiusMargin);
    Rectangle2D outerFrame = DialPlot.rectangleByRadius(frame, 
            this.outerRadius + radiusMargin, this.outerRadius 
            + radiusMargin);
    Arc2D inner = new Arc2D.Double(innerFrame, this.startAngle 
            - angleMargin, this.extent + 2 * angleMargin, Arc2D.OPEN);
    Arc2D outer = new Arc2D.Double(outerFrame, this.startAngle 
            + angleMargin + this.extent, - this.extent - 2 * angleMargin, 
            Arc2D.OPEN);
    GeneralPath p = new GeneralPath();
    Point2D point1 = inner.getStartPoint();
    p.moveTo((float) point1.getX(), (float) point1.getY());
    p.append(inner, true);
    p.append(outer, true);
    p.closePath();
    return p;
    
}
 
開發者ID:parabuild-ci,項目名稱:parabuild-ci,代碼行數:24,代碼來源:StandardDialFrame.java

示例5: plotXY

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
public void plotXY( Graphics2D g, 
			Rectangle2D bounds,
			double xScale, double yScale,
			int dataIndex) {
	doLookup();
	GeneralPath path = new GeneralPath();
	float x0 = (float)bounds.getX();
	float y0 = (float)(bounds.getY()+bounds.getHeight());
	path.moveTo( x0, y0 );
	for(int k=0 ; k<=255 ; k++) {
		if( k==0 ) {
			path.moveTo( (float)(xScale*(k - bounds.getX())), 
				(float)(yScale*(lookup[k] -bounds.getY())) );
		} else {
			path.lineTo( (float)(xScale*(k - bounds.getX())), 
				(float)(yScale*(lookup[k] -bounds.getY())) );
		}
	}
	g.setColor( Color.black );
	g.draw( path );
}
 
開發者ID:iedadata,項目名稱:geomapapp,代碼行數:22,代碼來源:BalancePanel.java

示例6: generateClipPath

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
/**
 * Generates the clip path.
 *
 * @param dataArea  the dataArea that the plot is being draw in.
 * @param horizontalAxis  the horizontal axis.
 * @param verticalAxis  the vertical axis.
 *
 * @return the GeneralPath defining the outline
 */
public GeneralPath generateClipPath(Rectangle2D dataArea,
                                    ValueAxis horizontalAxis, ValueAxis verticalAxis) {

    GeneralPath generalPath = new GeneralPath();
    double transX = horizontalAxis.valueToJava2D(
        this.xValue[0], dataArea, RectangleEdge.BOTTOM
    );
    double transY = verticalAxis.valueToJava2D(this.yValue[0], dataArea, RectangleEdge.LEFT);
    generalPath.moveTo((float) transX, (float) transY);
    for (int k = 0; k < this.yValue.length; k++) {
        transX = horizontalAxis.valueToJava2D(this.xValue[k], dataArea, RectangleEdge.BOTTOM);
        transY = verticalAxis.valueToJava2D(this.yValue[k], dataArea, RectangleEdge.LEFT);
        generalPath.lineTo((float) transX, (float) transY);
    }
    generalPath.closePath();

    return generalPath;

}
 
開發者ID:parabuild-ci,項目名稱:parabuild-ci,代碼行數:29,代碼來源:ClipPath.java

示例7: paintGraph

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
@Override
public void paintGraph(Graphics2D g, int width, int height) {
	g.setColor(new Color(0, 0, 0, 127));
	
	g.drawString("1.0", 2, g.getFontMetrics().getHeight());
	g.drawString("0.0", 2, height-g.getFontMetrics().getDescent());
	g.setColor(new Color(0, 0, 0, 200));
	
	g.setStroke(new BasicStroke(3f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND));
	
	ArrayList<Keyframe<Float>> copy = new ArrayList<>(keyframes);
	if(dragFrame != null)
		copy.add(dragFrame);
	Collections.sort(copy);
	
	if(copy.get(0).getTime() != 0f)
		copy.add(0, new Keyframe<Float>(0f, copy.get(0).getValue()));
	if(copy.get(copy.size()-1).getTime() != 1f)
		copy.add(new Keyframe<Float>(1f, copy.get(copy.size()-1).getValue()));
	
	GeneralPath path = new GeneralPath();
	path.moveTo(copy.get(0).getTime() * width, (1f - copy.get(0).getValue()) * height);
	for(int i = 1; i < copy.size(); i++)
		path.lineTo(copy.get(i).getTime() * width, ((1f - copy.get(i).getValue()) * height-.5f));
	g.draw(path);

	g.setStroke(new BasicStroke(3)); //Draw red bar at each keyframe
	g.setColor(new Color(255, 0, 0, 32));
	for(int i = 1; i < copy.size()-1; i++)
		g.drawLine((int) (copy.get(i).getTime() * width), 0, (int) (copy.get(i).getTime() * width), height);
}
 
開發者ID:CalebKussmaul,項目名稱:GIFKR,代碼行數:32,代碼來源:FloatInterpolator.java

示例8: PaintGradiente

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
protected void PaintGradiente(Graphics2D g, boolean round) {
    int dist = 0;
    int w = getWidth() - dist;
    int h = getHeight() - dist;
    int L = getLeft();
    int T = getTop();
    boolean dv = getGDirecao() == VERTICAL;

    //Composite originalComposite = g.getComposite();
    //g.setComposite(AlphaComposite.getInstance(AlphaComposite.DST_OVER, alfa));
    GradientPaint GP = new GradientPaint(L, T, getGradienteStartColor(), dv ? L : L + w, dv ? T + h : T, getGradienteEndColor(), true);
    //g.setPaint(GP);

    g.setPaint(getForeColor());
    if (round) {
        g.drawRoundRect(L, T, w - 1, h - 1, roundRectSize, roundRectSize);
        g.setPaint(GP);
        g.fillRoundRect(L + 1, T + 1, w - 2, h - 2, roundRectSize, roundRectSize);
        g.setPaint(isDisablePainted()? disabledColor : Color.WHITE);
        g.drawRoundRect(L + 1, T + 1, w - 3, h - 3, roundRectSize, roundRectSize);
    } else {
        g.drawRect(L, T, w - 1, h - 1);
        g.setPaint(GP);
        g.fillRect(L + 1, T + 1, w - 2, h - 2);
        g.setPaint(isDisablePainted()? disabledColor : Color.WHITE);
        g.drawRect(L + 1, T + 1, w - 3, h - 3);
    }
    if (isGradientePinteDetalhe()) {
        g.setPaint(getGradienteCorDetalhe());
        GeneralPath path = new GeneralPath();
        path.moveTo(L + 2, T + 2);
        path.quadTo(L + w / 2 + 1, T + h / 2 + 1, L + w - 1, T + 2);
        path.closePath();
        g.fill(path);
    }
    //g.setComposite(originalComposite);

}
 
開發者ID:chcandido,項目名稱:brModelo,代碼行數:39,代碼來源:PreTexto.java

示例9: XYAreaRenderer

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
/**
 * Constructs a new renderer.  To specify the type of renderer, use one of 
 * the constants: <code>SHAPES</code>, <code>LINES</code>,
 * <code>SHAPES_AND_LINES</code>, <code>AREA</code> or 
 * <code>AREA_AND_SHAPES</code>.
 *
 * @param type  the type of renderer.
 * @param toolTipGenerator  the tool tip generator to use 
 *                          (<code>null</code> permitted).
 * @param urlGenerator  the URL generator (<code>null</code> permitted).
 */
public XYAreaRenderer(int type, XYToolTipGenerator toolTipGenerator, 
                      XYURLGenerator urlGenerator) {

    super();
    setBaseToolTipGenerator(toolTipGenerator);
    setURLGenerator(urlGenerator);

    if (type == SHAPES) {
        this.plotShapes = true;
    }
    if (type == LINES) {
        this.plotLines = true;
    }
    if (type == SHAPES_AND_LINES) {
        this.plotShapes = true;
        this.plotLines = true;
    }
    if (type == AREA) {
        this.plotArea = true;
    }
    if (type == AREA_AND_SHAPES) {
        this.plotArea = true;
        this.plotShapes = true;
    }
    this.showOutline = false;
    GeneralPath area = new GeneralPath();
    area.moveTo(0.0f, -4.0f);
    area.lineTo(3.0f, -2.0f);
    area.lineTo(4.0f, 4.0f);
    area.lineTo(-4.0f, 4.0f);
    area.lineTo(-3.0f, -2.0f);
    area.closePath();
    this.legendArea = area;

}
 
開發者ID:parabuild-ci,項目名稱:parabuild-ci,代碼行數:47,代碼來源:XYAreaRenderer.java

示例10: drawOutline

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
/**
 * Draws the outline for the plot.
 *
 * @param g2  the graphics device.
 * @param plot  the plot.
 * @param dataArea  the area inside the axes.
 */
public void drawOutline(Graphics2D g2, CategoryPlot plot, 
                        Rectangle2D dataArea) {

    float x0 = (float) dataArea.getX();
    float x1 = x0 + (float) Math.abs(this.xOffset);
    float x3 = (float) dataArea.getMaxX();
    float x2 = x3 - (float) Math.abs(this.xOffset);

    float y0 = (float) dataArea.getMaxY();
    float y1 = y0 - (float) Math.abs(this.yOffset);
    float y3 = (float) dataArea.getMinY();
    float y2 = y3 + (float) Math.abs(this.yOffset);

    GeneralPath clip = new GeneralPath();
    clip.moveTo(x0, y0);
    clip.lineTo(x0, y2);
    clip.lineTo(x1, y3);
    clip.lineTo(x3, y3);
    clip.lineTo(x3, y1);
    clip.lineTo(x2, y0);
    clip.closePath();

    // put an outline around the data area...
    Stroke outlineStroke = plot.getOutlineStroke();
    Paint outlinePaint = plot.getOutlinePaint();
    if ((outlineStroke != null) && (outlinePaint != null)) {
        g2.setStroke(outlineStroke);
        g2.setPaint(outlinePaint);
        g2.draw(clip);
    }

}
 
開發者ID:parabuild-ci,項目名稱:parabuild-ci,代碼行數:40,代碼來源:BarRenderer3D.java

示例11: createBarShape

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
private static GeneralPath createBarShape() {
	GeneralPath barShape = new GeneralPath();
	barShape.moveTo(0, 0);
	barShape.lineTo(0, -5);
	barShape.lineTo(5, -5);
	barShape.lineTo(5, 0);
	barShape.lineTo(5, -15);
	barShape.lineTo(10, -15);
	barShape.lineTo(10, 0);
	barShape.lineTo(10, -10);
	barShape.lineTo(15, -10);
	barShape.lineTo(15, 0);
	barShape.closePath();
	return barShape;
}
 
開發者ID:transwarpio,項目名稱:rapidminer,代碼行數:16,代碼來源:PlotInstanceLegendCreator.java

示例12: selectLasso

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
/**
		Selects the area represented by poly
	*/
	void selectLasso(XYGraph xyg) {
		GeneralPath path = new GeneralPath();

		for (int i=0; i<poly.npoints; i++){
			Point2D p2 = new Point2D.Float (poly.xpoints[i], poly.ypoints[i]);
			Point2D point = new Point2D.Double (xyg.getXAt(p2), xyg.getYAt(p2));
			if (i==0) path.moveTo((float)point.getX(), (float) point.getY());
			else path.lineTo((float)point.getX(), (float) point.getY());
		}
		path.closePath();
		Rectangle2D r = path.getBounds();

		ds.dataT.getSelectionModel().setValueIsAdjusting(true);
		if (scatter) {
			int n = 0;
			while (n<x.length&&(Float.isNaN(x[n])||Float.isNaN(y[n]))) {
				n++;
			}
			if (n>=x.length) return;
			for (int i = n; i < x.length; i++) {
				if (Float.isNaN(x[i])||Float.isNaN(y[i])) continue;
				if (r.contains(x[i], y[i]) && path.contains(x[i], y[i])) {
					ds.dataT.getSelectionModel().addSelectionInterval(i, i);
				}
			}
		}

		unDrawLasso(xyg);
//		selectionChangedRedraw(ds.selected);

		ds.dataT.getSelectionModel().setValueIsAdjusting(false);

		if (ds.dataT.getSelectedRow() != -1)
			ds.dataT.ensureIndexIsVisible(ds.dataT.getSelectedRow());
	}
 
開發者ID:iedadata,項目名稱:geomapapp,代碼行數:39,代碼來源:DataSetGraph.java

示例13: createArrow

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
protected Shape createArrow(float fx, float fy, float tx, float ty) {
    float dx = tx - fx;
    float dy = ty - fy;
    float D = (float) Math.sqrt(dx * dx + dy * dy);
    float z = (dx <= 0) ? fx - D : fx + D;
    double alpha = (dx > 0) ? Math.asin(dy / D) : -Math.asin(dy / D);
    float h = arrowWidth * 2;

    int n = (int) (D / h);
    h = D / (float) (n + 1);
    if (n < 0)
        n = 0;

    float dec = (dx <= 0) ? h : -h;
    GeneralPath gp = new GeneralPath();
    for (int i = 0; i <= n; i++) {
        gp.moveTo(z + dec, fy - arrowWidth);
        gp.lineTo(z + dec / 2f, fy - arrowWidth);
        gp.lineTo(z, fy);
        gp.lineTo(z + dec / 2f, fy + arrowWidth);
        gp.lineTo(z + dec, fy + arrowWidth);
        gp.lineTo(z + dec / 2f, fy);
        z += dec;
    }
    gp.closePath();
    AffineTransform affineTransform = new AffineTransform();
    affineTransform.rotate(alpha, fx, fy);
    return gp.createTransformedShape(affineTransform);
}
 
開發者ID:Vitaliy-Yakovchuk,項目名稱:ramus,代碼行數:30,代碼來源:WayStroke.java

示例14: createStrokedShape

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
/**
 * @see java.awt.Stroke#createStrokedShape(java.awt.Shape)
 */
public Shape createStrokedShape (Shape shape) {
	GeneralPath result = new GeneralPath();
	shape = new BasicStroke(getWidth(), BasicStroke.CAP_SQUARE, getJoin()).createStrokedShape(shape);
	PathIterator it = new FlatteningPathIterator(shape.getPathIterator(null), FLATNESS);
	float points[] = new float[6];
	float moveX = 0, moveY = 0;
	float lastX = 0, lastY = 0;
	float thisX = 0, thisY = 0;
	int type = 0;
	float next = 0;
	while (!it.isDone()) {
		type = it.currentSegment(points);
		switch (type) {
		case PathIterator.SEG_MOVETO:
			moveX = lastX = randomize(points[0]);
			moveY = lastY = randomize(points[1]);
			result.moveTo(moveX, moveY);
			next = 0;
			break;

		case PathIterator.SEG_CLOSE:
			points[0] = moveX;
			points[1] = moveY;
			// Fall into....

		case PathIterator.SEG_LINETO:
			thisX = randomize(points[0]);
			thisY = randomize(points[1]);
			float dx = thisX - lastX;
			float dy = thisY - lastY;
			float distance = (float)Math.sqrt(dx * dx + dy * dy);
			if (distance >= next) {
				float r = 1.0f / distance;
				while (distance >= next) {
					float x = lastX + next * dx * r;
					float y = lastY + next * dy * r;
					result.lineTo(randomize(x), randomize(y));
					next += detail;
				}
			}
			next -= distance;
			lastX = thisX;
			lastY = thisY;
			break;
		}
		it.next();
	}

	return result;
}
 
開發者ID:IngSW-unipv,項目名稱:Progetto-C,代碼行數:54,代碼來源:OutlineWobbleEffect.java

示例15: selectLasso

import java.awt.geom.GeneralPath; //導入方法依賴的package包/類
public void selectLasso() {
		GeneralPath path = new GeneralPath();

		for (int i=0; i<poly.npoints; i++){
			Point2D point = map.getScaledPoint(new Point(poly.xpoints[i],poly.ypoints[i]));
			if (i==0) path.moveTo((float)point.getX(), (float) point.getY());
			else path.lineTo((float)point.getX(), (float) point.getY());
		}
		path.closePath();
		r=path.getBounds();

//		Point2D p = map.getScaledPoint(new Point(r.x,r.y));
//		Rectangle2D.Double r = new Rectangle2D.Double(p.getX(),p.getY(),
//				this.r.width/map.getZoom(),this.r.height/map.getZoom()); 

		Rectangle2D rect = map.getClipRect2D();
		float yMin = (float)rect.getY();
		float yMax = (float)(rect.getY() + rect.getHeight());
		float xMin = (float)rect.getX();
		float xMax = (float)(rect.getX() + rect.getWidth());
		float wrap = (float)map.getWrap();
		//System.out.println(xMin+"\t"+xMax+"\t"+yMin+"\t"+yMax);

		dataT.getSelectionModel().setValueIsAdjusting(true);

		if (station){
			for( int k=0 ; k<tm.displayToDataIndex.size() ; k++) {
				int z = tm.displayToDataIndex.get(k);
				UnknownData d = data.get(z);

				if (f!=null&&k<f.length&&Float.isNaN(f[k])) continue;
				if (f2!=null&&k<f2.length&&Float.isNaN(f2[k])) continue;
				if (dataT.isRowSelected(k)){ continue; }
				//Symbol s = new Symbol(Symbol.CIRCLE, (float) (3./zoom), b, a);

				float x = d.x;
				float y = d.y;
				//System.out.println(d+"\t"+yMin+"\t"+yMax);
				if( y<yMin || y>yMax ) continue;
				if (Float.isNaN(d.x) || Float.isNaN(d.y)) continue;
				if( wrap>0f ) {
					while( x>xMin+wrap ) x -= wrap;
					while( x<xMin ) x += wrap;
					while( x<xMax ) {
						if (r.contains(x, y)&&path.contains(x, y))
							dataT.getSelectionModel().addSelectionInterval(k, k);
						x += wrap;
					}
				} else {
					if( x>xMin && x<xMax ) {
						if (r.contains(x, y)&&path.contains(x, y))
							dataT.getSelectionModel().addSelectionInterval(k, k);
					}
				}
			}
		}

		dataT.getSelectionModel().setValueIsAdjusting(false);

		unDrawLasso();
//		selectionChangedRedraw(os);
		if (dataT.getSelectedRow() != -1)
			dataT.ensureIndexIsVisible(dataT.getSelectedRow());
	}
 
開發者ID:iedadata,項目名稱:geomapapp,代碼行數:65,代碼來源:UnknownDataSet.java


注:本文中的java.awt.geom.GeneralPath.moveTo方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。