powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Растровый редактор на Java2D
16 сообщений из 16, страница 1 из 1
Растровый редактор на Java2D
    #38594644
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, толкните в нужном направлении, только не очень больно :)
Вот не довелось плотно работать с java2d: на уровне учебных задачек и все. А тут столкнулся и куда рыть не соображу.
Имеется прямоугольная панель с нанесенной на ней сеткой XY (декартовы координаты). Шаг сетки может меняться от 1 до 100 пикселей с шагом 5.
Пользователь мышкой указывает на сетке точку и удерживает кнопку мыши. Поскольку сетка по определению дискретна, то программа должна найти ближайшую точку XY и нарисовать в ней точку. Пользователь тянет мышь и до тех пор пока не отпустит ее, рисуется линия. В общем - простенький, без заморочек растровый редактор.
Что такое алгоритм Брезенхема я знаю. Есть ли примеры? Спасибо
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38595051
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab ,
Если тебе надо алгоритмы отрисовки линий, то что-то похожее было у меня в университете.
Лабу прикрепил к сообщению, а реализованные алгоритмы лежат в пакете algorithm .
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38595085
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если надо подумать, как сделать фичу с мышкой, что ты описывал, то книга Хорстманн Кей, Корнелл Гари - Java 2. Библиотека профессионала .
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38595336
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
Интересный набор классов :) Буду смотреть и учиться
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38595393
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplabСпасибо!
Интересный набор классов :) Буду смотреть и учиться
Не, сильно учиться по нему не советую, все-таки лаба в универе =) А лабы пишутся, лишь бы сдать =)
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38595454
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В моем положении и это много :) Хотя бы начать посмотреть что есть и как используется.
Хорстманн и Корнелл - в смысле 2-й том последнего издания?
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38595506
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оба тома. Если только начинаешь с основ Swingа, то первый том. Местами понадобиться и во второй том заглядывать.
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38596060
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab,
- что-то не сходится.
Если мышкой начали рисовать линию внутри клеточки сетки, то рисовать "тянучку" надо именно от сетки?
Или сделать прыжок мышкой на сетку - прилипание \ снаппинг?
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38596935
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Понятно, что попасть мышкой точно в узел сетки (особенно если шаг большой) - не очень легко. Мышь скорее всего попадет куда-то внутрь какого-то квадратика образованного сеткой. Но этот квадратик образован 4-мя узлами сетки. Вот и надо найти ближайший узел сетки и от него тянуть. Так что ответ такой: ткнуть в квадратик, образованный сеткой, найти ближайший узел сетки и из него тянуть линию. Речь ведь о растровой графике в которой точки определяются сеткой
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38597935
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplabсеткой, найти ближайший узел сетки и из него тянуть линию.
Если под понятием сетка у тебя - растровый дисплей десктопа (рабочий стол), то изобретать велосипед не надо.
У тебя уже всё есть. Событие MouseClick уже вызывается с этими самыми координатами сетки - X,Y.
Т.е. ближайший узел за тебя находит WinAPI.
Тебе осталось запомнить координаты начала отрезка и на MouseMove рисовать его от начала до текущих на перемещение мышки.
Всё.
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38598168
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Эх, если бы так :) Но по условиям (самый первый пост) сетка рисуется на панели - так в условиях. С изменяемым шагом. Привязка идет не к пикселям монитора, а к узлам нарисованной на панели сетки. Т.е. когда я тыкаю мышкой, нужно привязаться не к точке на мониторе, к точке на нарисованной сетке
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38598218
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab,
ok. А растрированная линия тоже строго по сетке?
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38598242
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Нет, конечно. Это и невозможно, т.к. в растровых картинках точно рисуются только прямые параллельные осям координат (т.е. по сетке). Если линия не параллельна сетке, то ее надо интерполировать (например, алгоритмом Брезенхема).
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38598460
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab,
строго по сетке, я имел ввиду - как на экране должна выглядеть "тянучка":

или так?

т.е. тут привязка только начальной И? конечной точки.
По варианту-2 тянучка - обычная линия см.выше. Найти нужно только ближайшую на сетке в момент старта. Даже обычным перебором.
Вариант 1 делается сложнее с закраской областей - фальшивых пикселей.
IMHO
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38598765
fplab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Второй вариант.
З.Ы. Прикольная картинка :) С вафельным полотенцем? Сами рисовали?
...
Рейтинг: 0 / 0
Растровый редактор на Java2D
    #38598849
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fplab,
из гугла.
Второй пример - линия обычная, по пикселям монитора. Начальная точка - простым перебором по минимальной дистанции (снаппинг)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Растровый редактор на Java2D
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]