List of usage examples for java.awt.geom AffineTransform getRotateInstance
public static AffineTransform getRotateInstance(double theta)
From source file:Main.java
public static void main(String[] args) throws Exception { String fontFileName = "yourfont.ttf"; InputStream is = new FileInputStream(fontFileName); Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, is); Font ttfReal = ttfBase.deriveFont(AffineTransform.getRotateInstance(0.5)); }
From source file:Main.java
public static void main(String[] args) throws Exception { String fontFileName = "yourfont.ttf"; InputStream is = new FileInputStream(fontFileName); Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, is); Font ttfReal = ttfBase.deriveFont(Font.BOLD, AffineTransform.getRotateInstance(0.5)); }
From source file:Main.java
static void drawArrow(Graphics g1, int x1, int y1, int x2, int y2) { // x1 and y1 are coordinates of circle or rectangle // x2 and y2 are coordinates of circle or rectangle, to this point is directed the arrow Graphics2D g = (Graphics2D) g1.create(); double dx = x2 - x1; double dy = y2 - y1; double angle = Math.atan2(dy, dx); int len = (int) Math.sqrt(dx * dx + dy * dy); AffineTransform t = AffineTransform.getTranslateInstance(x1, y1); t.concatenate(AffineTransform.getRotateInstance(angle)); g.transform(t);//from w w w. ja va2s .c om g.drawLine(0, 0, len, 0); int basePosition = len - ARROW_HEAD_SIZE.width; int height = ARROW_HEAD_SIZE.height; g.fillPolygon(new int[] { len, basePosition, basePosition, len }, new int[] { 0, -height, height, 0 }, 4); }
From source file:edu.gmu.cs.sim.util.media.chart.ScatterPlotSeriesAttributes.java
static Shape[] buildShapes() { Shape[] s = new Shape[7]; GeneralPath g = null;//ww w . j a v a2 s. c o m // Circle s[0] = new Ellipse2D.Double(-3, -3, 6, 6); // Rectangle Rectangle2D.Double r = new Rectangle2D.Double(-3, -3, 6, 6); s[1] = r; // Diamond s[2] = AffineTransform.getRotateInstance(Math.PI / 4.0).createTransformedShape(r); // Cross + g = new GeneralPath(); g.moveTo(-0.5f, -3); g.lineTo(-0.5f, -0.5f); g.lineTo(-3, -0.5f); g.lineTo(-3, 0.5f); g.lineTo(-0.5f, 0.5f); g.lineTo(-0.5f, 3); g.lineTo(0.5f, 3); g.lineTo(0.5f, 0.5f); g.lineTo(3, 0.5f); g.lineTo(3, -0.5f); g.lineTo(0.5f, -0.5f); g.lineTo(0.5f, -3); g.closePath(); s[3] = g; // X s[4] = g.createTransformedShape(AffineTransform.getRotateInstance(Math.PI / 4.0)); // Up Triangle g = new GeneralPath(); g.moveTo(0f, -3); g.lineTo(-3, 3); g.lineTo(3, 3); g.closePath(); s[5] = g; // Down Triangle s[6] = g.createTransformedShape(AffineTransform.getRotateInstance(Math.PI)); return s; }
From source file:Main.java
private static BufferedImage renderRotatedObject(Object src, double angle, int width, int height, double tx, double ty) { BufferedImage dest = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = (Graphics2D) dest.getGraphics(); g2d.setColor(Color.black);//from w ww . jav a2 s . c om g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); AffineTransform at = AffineTransform.getRotateInstance(angle); at.translate(tx, ty); g2d.setTransform(at); if (src instanceof TextLayout) { TextLayout tl = (TextLayout) src; tl.draw(g2d, 0, tl.getAscent()); } else if (src instanceof Image) { g2d.drawImage((Image) src, 0, 0, null); } g2d.dispose(); return dest; }
From source file:Main.java
public void paint(Graphics g) { Shape shape = new Rectangle2D.Float(100, 50, 80, 80); Graphics2D g2 = (Graphics2D) g; AffineTransform at = AffineTransform.getRotateInstance(-Math.PI / 6); g2.setTransform(at);//from ww w.ja v a 2 s. c o m g2.draw(shape); }
From source file:Draw2DRotate.java
public void paint(Graphics graphics) { Graphics2D g = (Graphics2D) graphics; AffineTransform transform = AffineTransform.getRotateInstance(Math.PI / 16.0d); g.setTransform(transform);//from w w w. ja v a 2s. c o m Line2D.Double shape = new Line2D.Double(0.0, 0.0, 300.0, 300.0); g.draw(shape); g.setFont(new Font("Helvetica", Font.BOLD, 24)); String text = ("Java2s"); g.drawString(text, 300, 50); Toolkit toolkit = Toolkit.getDefaultToolkit(); Image image = toolkit.getImage("image1.gif"); g.drawImage(image, 100, 150, this); }
From source file:Main.java
public void paint(Graphics g) { Shape shape = new Rectangle2D.Float(100, 50, 80, 80); Graphics2D g2 = (Graphics2D) g; AffineTransform at = new AffineTransform(); at.setTransform(AffineTransform.getRotateInstance(0.5)); g2.setTransform(at);/*from ww w . j a v a 2 s . co m*/ g2.draw(shape); }
From source file:TextRendering.java
public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); Dimension d = getSize();//from ww w . j av a2s . com AffineTransform ct = AffineTransform.getTranslateInstance(d.width / 2, d.height * 3 / 4); g2.transform(ct); String s = "www.java2s.com"; Font f = new Font("Serif", Font.PLAIN, 128); g2.setFont(f); int count = 6; for (int i = 1; i <= count; i++) { AffineTransform oldTransform = g2.getTransform(); float ratio = (float) i / (float) count; g2.transform(AffineTransform.getRotateInstance(Math.PI * (ratio - 1.0f))); float alpha = ((i == count) ? 1.0f : ratio / 3); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha)); g2.drawString(s, 0, 0); g2.setTransform(oldTransform); } }
From source file:GraphicsUtil.java
public static void drawString(Graphics g, String text, RectangularShape bounds, Align align, double angle) { Graphics2D g2 = (Graphics2D) g; Font font = g2.getFont();//from w w w . j a v a 2 s. co m if (angle != 0) g2.setFont(font.deriveFont(AffineTransform.getRotateInstance(Math.toRadians(angle)))); Rectangle2D sSize = g2.getFontMetrics().getStringBounds(text, g2); Point2D pos = getPoint(bounds, align); double x = pos.getX(); double y = pos.getY() + sSize.getHeight(); switch (align) { case North: case South: case Center: x -= (sSize.getWidth() / 2); break; case NorthEast: case East: case SouthEast: x -= (sSize.getWidth()); break; case SouthWest: case West: case NorthWest: break; } g2.drawString(text, (float) x, (float) y); g2.setFont(font); }