Java 如何使用g.drawArc()逆时针旋转形成圆弧?
每当我使用Java 如何使用g.drawArc()逆时针旋转形成圆弧?,java,graphics,Java,Graphics,每当我使用g.drawArc时,当g是Graphics对象时,它总是从起点开始,在终点结束,但总是顺时针。我想要一个90度开始的圆弧,逆时针到270度,但它总是顺时针。我试着把90度放到-90度,但它把负数当作0。我该怎么做呢?好的,我这边没有任何问题 一些注意事项: 0始终指向右侧(两个图像都从0开始) arcAngle是从startAngle到绘制的度数(即“范围”),这就是图像看起来倒置的原因 我尝试将90度设置为-90度,但它将负数视为0。这不是状态:正值表示逆时针旋转,而负值表示顺
g.drawArc
时,当g
是Graphics
对象时,它总是从起点开始,在终点结束,但总是顺时针。我想要一个90度开始的圆弧,逆时针到270度,但它总是顺时针。我试着把90度放到-90度,但它把负数当作0。我该怎么做呢?好的,我这边没有任何问题
一些注意事项:
始终指向右侧(两个图像都从0开始)0
是从arcAngle
到绘制的度数(即“范围”),这就是图像看起来倒置的原因startAngle
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g.create();
g2d.setColor(Color.RED);
g2d.drawArc(10, 10, 80, 80, 0, -270);
g2d.setColor(Color.BLUE);
g2d.drawArc(100, 10, 80, 80, 0, 270);
g2d.dispose();
}
}
}