2015-04-30 3 views
0

Im пытается нарисовать дугу, которая простирается вокруг части круга. Я смущен тем, как использовать метод DrawArc. Я прочитал несколько статей в Интернете и просто поставил, не путаясь о том, как точно работают параметры. Мой круг центрирован на 100, 100 с радиусом 50. Как использовать метод drawArc для рисования дуги, которая пересекает круг? Любые мысли были бы весьма полезныJava JPanel Формирование дуги вокруг края круга

+0

В тот же день я написал генератор дуги, но я не могу найти код. Насколько я помню, я сделал это с помощью java.awt.Area, начиная с круга, а затем вычитал из него еще один круг. Извините, я знаю, что это не так много. – ControlAltDel

ответ

0

Чтение статей хорошо, но вы всегда должны прочитать documentation метода.

Метод drawArc не принимает в качестве аргументов центр и радиус. Вместо этого он принимает прямоугольник. Аргументы x и y представляют собой верхний левый угол этого прямоугольника; ширина и высота - это горизонтальный и вертикальный диаметры эллипса вашей дуги.

Вы можете просто сделать математику самостоятельно:

int centerX = 100; 
int centerY = 100; 
int radius = 50; 
graphics.drawArc(centerX - radius, 
       centerY - radius, 
       radius * 2, 
       radius * 2, 
       startAngle, 
       span); 

Обратите внимание, что последний аргумент является числом степеней дуговых пролетов, а не абсолютный угол конца.

+0

Спасибо большое! Большая помощь! – RifatRashid

Смежные вопросы