Как переместить объект класса Area в Java Graphics2D

Я работаю с Graphics2D (java)

Я пытаюсь переместить случайную фигуру с помощью перетаскивания мышью.

Эта случайная форма хранится в объекте Area класса java.awt.geom.Area.

Я знаю, как выбрать этот объект области, мне просто нужно выяснить, как на самом деле переместить его в новые координаты.

Такие фигуры, как эллипс и прямоугольник, можно легко перемещать, но как перемещать такие фигуры, как многоугольник или фигуры, которые содержат кривую и не имеют определенной предопределенной структуры.


person Mystery    schedule 24.01.2012    source источник


Ответы (1)


Чтобы нарисовать прямоугольник с помощью класса Graphics, вам нужны исходная точка, а также ширина и высота.

Чтобы нарисовать эллипс с помощью класса Graphics, вам нужны исходная точка, а также ширина и высота.

Каждая из этих простых фигур состоит из исходной точки и размеров фигуры.

Точно так же для любой сложной формы вам нужна исходная точка. Это исходная точка, которая «перемещается», когда вы перемещаете фигуру с помощью перетаскивания мышью. Другими словами, начало движения мыши соответствует началу фигуры. Когда мышь перемещается к новым координатам X и Y, исходная точка перемещается к новым координатам X и Y.

Допустим, начало прямоугольника равно 10, 10. Предположим, что начало перетаскивания мышью равно 30, 30. Когда мышь перемещается к новым координатам x и y, вы изменяете начало координат прямоугольника. В этом примере, когда мышь переместилась на 40, 40, исходная точка прямоугольника становится 20, 20.

Прямоугольник и эллипс уже имеют метод рисования в классе Graphics. Вероятно, вам придется написать собственный метод рисования для сложной формы.

person Gilbert Le Blanc    schedule 24.01.2012