Создание скриншота приложения для рисования + рисование контуров 2D фигур - PullRequest
0 голосов
/ 05 мая 2010

Я делаю программу для рисования, используя 2D-объекты Графика (в частности, линии, прямоугольники и овалы), размещая их на панели.Имея это в виду, у меня есть 2 вопроса:

1) Как я могу сохранить изображения, отображаемые в данный момент на панели в виде PNG, JPG или аналогичного файла, на диск?

2) Я добавилфункция перетаскивания.Как я могу реализовать функцию, чтобы можно было увидеть «контур» прямоугольника, линии или овала, прежде чем он будет фактически помещен на холст (но не помещать контур на холст после отпускания кнопки мыши)?Я не вижу, чтобы какой-либо из методов MouseListener мог сделать такую ​​вещь.

Ответы [ 3 ]

1 голос
/ 05 мая 2010

1) Как я могу хранить изображения в настоящее время изображается на панели как PNG, JPG или аналогичный файл на диск?

Вы можете создать BufferedImage и нарисовать любой компонент на нем. Класс Screen Image сделает это за вас.

0 голосов
/ 07 мая 2010
0 голосов
/ 05 мая 2010

2) Как реализовать функцию, чтобы можно было увидеть «контур» прямоугольника, линии или овала?

В этом примере сама фигура может быть перетащена, а не ее контур, но метод draw() класса Node может быть изменен по желанию. Для выделения используется прямоугольный контур, как на рабочем столе.

...