本文整理了Java中java.awt.geom.AffineTransform.rotate()
方法的一些代码示例,展示了AffineTransform.rotate()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AffineTransform.rotate()
方法的具体详情如下:
包路径:java.awt.geom.AffineTransform
类名称:AffineTransform
方法名:rotate
暂无
代码示例来源:origin: libgdx/libgdx
splitImage = new BufferedImage(region.width, region.height, page.getType());
AffineTransform transform = new AffineTransform();
transform.rotate(Math.toRadians(90.0));
transform.translate(0, -region.width);
AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
op.filter(srcImage, splitImage);
代码示例来源:origin: stackoverflow.com
AffineTransform transform = new AffineTransform();
transform.rotate(radians, bufferedImage.getWidth()/2, bufferedImage.getHeight()/2);
AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
bufferedImage = op.filter(bufferedImage, null);
代码示例来源:origin: plantuml/plantuml
private ImageData writeImageMjpeg(OutputStream os, StringBounder stringBounder) throws IOException {
final LimitFinder limitFinder = new LimitFinder(stringBounder, true);
udrawable.drawU(limitFinder);
final Dimension2D dim = new Dimension2DDouble(limitFinder.getMaxX() + 1 + margin1 + margin2,
limitFinder.getMaxY() + 1 + margin1 + margin2);
final File f = new File("c:/tmp.avi");
final int nbframe = 100;
final MJPEGGenerator m = new MJPEGGenerator(f, getAviImage(null).getWidth(null), getAviImage(null).getHeight(
null), 12.0, nbframe);
for (int i = 0; i < nbframe; i++) {
// AffineTransform at = AffineTransform.getRotateInstance(1.0);
AffineTransform at = AffineTransform.getTranslateInstance(dim.getWidth() / 2, dim.getHeight() / 2);
at.rotate(90.0 * Math.PI / 180.0 * i / 100);
at.translate(-dim.getWidth() / 2, -dim.getHeight() / 2);
// final AffineTransform at = AffineTransform.getTranslateInstance(i, 0);
// final ImageIcon ii = new ImageIcon(getAviImage(at));
// m.addImage(ii.getImage());
throw new UnsupportedOperationException();
}
m.finishAVI();
FileUtils.copyToStream(f, os);
return new ImageDataSimple(dim);
}
代码示例来源:origin: libgdx/libgdx
splitImage = new BufferedImage(region.width, region.height, page.getType());
AffineTransform transform = new AffineTransform();
transform.rotate(Math.toRadians(90.0));
transform.translate(0, -region.width);
AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
op.filter(srcImage, splitImage);
代码示例来源:origin: runelite/runelite
/**
* Rotates an image around its center by a given number of radians.
*
* @param image The image to be rotated.
* @param theta The number of radians to rotate the image.
* @return The given image, rotated by the given theta.
*/
public static BufferedImage rotateImage(final BufferedImage image, final double theta)
{
AffineTransform transform = new AffineTransform();
transform.rotate(theta, image.getWidth() / 2.0, image.getHeight() / 2.0);
AffineTransformOp transformOp = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
return transformOp.filter(image, null);
}
代码示例来源:origin: opentripplanner/OpenTripPlanner
currentChar + 1).getAdvance() * 0.5f : 0;
t.setToTranslation(x, y);
t.rotate(angle);
t.translate(-px - advance, -py + height * factor / 2.0f);
result.append(t.createTransformedShape(glyph), false);
next += (advance + nextAdvance) * factor;
代码示例来源:origin: stackoverflow.com
case 2: // Flip X
t.scale(-1.0, 1.0);
t.translate(-info.width, 0);
break;
case 3: // PI rotation
t.translate(info.width, info.height);
t.rotate(Math.PI);
break;
case 4: // Flip Y
t.scale(1.0, -1.0);
t.translate(0, -info.height);
break;
case 5: // - PI/2 and Flip X
t.rotate(-Math.PI / 2);
t.scale(-1.0, 1.0);
break;
case 6: // -PI/2 and -width
t.translate(info.height, 0);
t.rotate(Math.PI / 2);
break;
case 7: // PI/2 and Flip
t.translate(-info.height, 0);
t.translate(0, info.width);
t.rotate( 3 * Math.PI / 2);
break;
case 8: // PI / 2
t.translate(0, info.width);
t.rotate( 3 * Math.PI / 2);
代码示例来源:origin: graphhopper/graphhopper
public void plotDirectedEdge(Graphics2D g2, double lat, double lon, double lat2, double lon2, float width) {
g2.setStroke(new BasicStroke(width));
int startLon = (int) getX(lon);
int startLat = (int) getY(lat);
int destLon = (int) getX(lon2);
int destLat = (int) getY(lat2);
g2.drawLine(startLon, startLat, destLon, destLat);
// only for deep zoom show direction
if (scaleX < 0.0001) {
g2.setStroke(new BasicStroke(3));
Path2D.Float path = new Path2D.Float();
path.moveTo(destLon, destLat);
path.lineTo(destLon + 6, destLat - 2);
path.lineTo(destLon + 6, destLat + 2);
path.lineTo(destLon, destLat);
AffineTransform at = new AffineTransform();
double angle = Math.atan2(lat2 - lat, lon2 - lon);
at.rotate(-angle + Math.PI, destLon, destLat);
path.transform(at);
g2.draw(path);
}
}
代码示例来源:origin: geotools/geotools
LabelPainter painter) {
tempTransform.translate(centroid.getX(), centroid.getY());
tempTransform.rotate(rotation);
- textBounds.getHeight()
+ painter.getLineHeight();
tempTransform.translate(displacementX, displacementY);
代码示例来源:origin: pentaho/pentaho-kettle
@Override
protected void render( Graphics2D gc, int centerX, int centerY, int width, int height, double angleRadians ) {
AffineTransform oldTransform = gc.getTransform();
try {
double scaleX = width * 1.0 / bitmap.getWidth();
double scaleY = height * 1.0 / bitmap.getHeight();
AffineTransform affineTransform = new AffineTransform( oldTransform );
if ( centerX != 0 || centerY != 0 ) {
affineTransform.translate( centerX, centerY );
}
affineTransform.scale( scaleX, scaleY );
if ( angleRadians != 0 ) {
affineTransform.rotate( angleRadians );
}
affineTransform.translate( -bitmap.getWidth() / 2, -bitmap.getHeight() / 2 );
gc.setTransform( affineTransform );
gc.drawImage( bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), null );
} finally {
gc.setTransform( oldTransform );
}
}
}
代码示例来源:origin: plantuml/plantuml
_graphics.setTransform(new AffineTransform());
AffineTransform fontTransform = new AffineTransform();
fontTransform.scale(fs, fs);
fontTransform.rotate(-ta.getOrientationAngle() * Math.PI / 180);
font = font.deriveFont(fontTransform);
_graphics.setFont(font);
Rectangle2D bounds = _graphics.getFontMetrics().getStringBounds(str, _graphics);
fontTransform.rotate(-ta.getOrientationAngle() * Math.PI / 180);
代码示例来源:origin: dermotte/LIRE
affine.rotate(-angle, xo2, yo2);
affine.translate(-dx, -dy);
代码示例来源:origin: stackoverflow.com
// create an AffineTransform
// and a triangle centered on (0,0) and pointing downward
// somewhere outside Swing's paint loop
AffineTransform tx = new AffineTransform();
Line2D.Double line = new Line2D.Double(0,0,100,100);
Polygon arrowHead = new Polygon();
arrowHead.addPoint( 0,5);
arrowHead.addPoint( -5, -5);
arrowHead.addPoint( 5,-5);
// [...]
private void drawArrowHead(Graphics2D g2d) {
tx.setToIdentity();
double angle = Math.atan2(line.y2-line.y1, line.x2-line.x1);
tx.translate(line.x2, line.y2);
tx.rotate((angle-Math.PI/2d));
Graphics2D g = (Graphics2D) g2d.create();
g.setTransform(tx);
g.fill(arrowHead);
g.dispose();
}
代码示例来源:origin: org.apache.poi/poi-ooxml
public Path2D.Double getPath() {
if (getDel())
return null;
// intentionally shadowing variables here
double cx = getX(); // center
double cy = getY();
double a = getA(); // left
double b = getB();
double c = getC(); // top
double d = getD();
// compute radius
double rx = Math.hypot(a - cx, b - cy);
double ry = Math.hypot(c - cx, d - cy);
// compute angle of ellipse
double angle = (2.0 * Math.PI + (cy > b ? 1.0 : -1.0)
* Math.acos((cx - a) / rx))
% (2.0 * Math.PI);
// create ellipse
Ellipse2D.Double ellipse = new Ellipse2D.Double(cx - rx, cy - ry,
rx * 2, ry * 2);
// create a path, rotate it about its center
Path2D.Double path = new Path2D.Double(ellipse);
AffineTransform tr = new AffineTransform();
tr.rotate(angle, cx, cy);
path.transform(tr);
return path;
}
代码示例来源:origin: dermotte/LIRE
affine.rotate(-angle, xo2, yo2);
affine.translate(-dx, -dy);
代码示例来源:origin: Activiti/Activiti
public void drawDefaultSequenceFlowIndicator(Line2D.Double line) {
double length = DEFAULT_INDICATOR_WIDTH;
double halfOfLength = length / 2;
double f = 8;
Line2D.Double defaultIndicator = new Line2D.Double(-halfOfLength,
0,
halfOfLength,
0);
double angle = Math.atan2(line.y2 - line.y1,
line.x2 - line.x1);
double dx = f * Math.cos(angle);
double dy = f * Math.sin(angle);
double x1 = line.x1 + dx;
double y1 = line.y1 + dy;
AffineTransform transformation = new AffineTransform();
transformation.setToIdentity();
transformation.translate(x1,
y1);
transformation.rotate((angle - 3 * Math.PI / 4));
AffineTransform originalTransformation = g.getTransform();
g.setTransform(transformation);
g.draw(defaultIndicator);
g.setTransform(originalTransformation);
}
代码示例来源:origin: Activiti/Activiti
AffineTransform transformation = new AffineTransform();
transformation.setToIdentity();
transformation.rotate(270 * Math.PI / 180);
代码示例来源:origin: geotools/geotools
public void testOGCScaleAffineProjected() throws Exception {
// 1 pixel == 500 m => 0.00028 m [ screen] == 500 m [world]
// => scaleDenominator = 500/0.00028
final AffineTransform screenToWord = AffineTransform.getScaleInstance(500, 500);
final AffineTransform worldToScreen = screenToWord.createInverse();
final CoordinateReferenceSystem crs = DefaultEngineeringCRS.CARTESIAN_2D;
double scale;
scale = RendererUtilities.calculateOGCScaleAffine(crs, worldToScreen, new HashMap());
assertEquals(500 / 0.00028, scale, 0.0001);
worldToScreen.rotate(1.0);
scale = RendererUtilities.calculateOGCScaleAffine(crs, worldToScreen, new HashMap());
assertEquals(500 / 0.00028, scale, 0.0001);
worldToScreen.translate(100.0, 100.0);
scale = RendererUtilities.calculateOGCScaleAffine(crs, worldToScreen, new HashMap());
assertEquals(500 / 0.00028, scale, 0.0001);
}
代码示例来源:origin: nutzam/nutz
Graphics2D gs = rotatedImage.createGraphics();
gs.fillRect(0, 0, w, h);// 以给定颜色绘制旋转后图片的背景
AffineTransform at = new AffineTransform();
at.rotate(ang, w / 2, h / 2);// 旋转图象
at.translate(x, y);
AffineTransformOp op = new AffineTransformOp(at, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
op.filter(image, rotatedImage);
代码示例来源:origin: stackoverflow.com
AffineTransform transform = new AffineTransform();
transform.rotate(Math.toRadians(45), rectangle.getX() + rectangle.width/2, rectangle.getY() + rectangle.height/2);
g2.fill(transformed);
内容来源于网络,如有侵权,请联系作者删除!