所以,我的情况是我绘制了很多同心圆,为了提高效率,我想只绘制圆的1/8,然后镜像/旋转绘图的其余部分。为清楚起见,假设我有以下代码:
for(int i = 0; i < end; i++) {
posX = calcX(i);
posY = calcY(i);
length = calcLength(i);
g2.fillArc(posX, posY, length, length, 0, 45);
}
// mirror/rotate 7 times...
这甚至可能吗?我知道你可以拍摄一张照片,但这似乎更棘手。
提前感谢您的帮助!
编辑:g2是Graphics2D对象。
编辑2:所以,让我说我有以下切片。有没有办法拍摄整张幻灯片(用“fillArc”绘制)并复制7次并制作一个完整的圆圈:
编辑3:固定代码以匹配我所说的内容。
答案 0 :(得分:0)
我认为g2是Graphics2D对象? 然后你可以使用
g2.setTransformation();
使用AffineTransformation旋转图像。尽管如此,使用
应该更有效率g2.drawOval(...);
为了画圆圈。