![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| AlmazDD |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.4.2013 Где: Россия, Москва Репутация: нет Всего: нет |
Доброго всем времени суток.
Пишу небольшую 2d-игру на Джаве. Отрисовка графики идет через класс Graphics2D внутри JPanel, находящегося на JFrame. И вот возникла проблема — как правильно масштабировать графику в окне без потери качества? Ибо имеющийся у меня сейчас вариант, по-моему, не самый лучший — я беру размеры фрейма, делю это число на 1000 (методом научного тыка вывел эту цифру, с ней картинка масштабирована почти так, как должна), а далее, у каждого объекта на экране, значение ширины, высоты и координат на плоскости умножаю на получившееся число. Результат вполне удовлетворяет, но как-то это не красиво — везде эти width*MainFrame.ratio, height*MainFrame.ratio и т.д. В общем, мне кажется, что есть куда более хороший способ (я с Джавой знаком не очень давно, поэтому запросто могу о многом не знать). Также пробовал отрисовывать всю графику в BufferedImage и потом ресайзить, однако, результат выходил ужасным — качество картинки получалось отвратительным. Заранее благодарю за помощь. |
|||
|
||||
| leskar |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 23.4.2008 Репутация: нет Всего: нет |
Как вариант - ресайзить в процессе отрисовки. Навряд ли операции умножения/деления сильно скажутся на производительности. Или вообще все объекты не рисовать руками, а подгружать из картинок.
Если не работали с графикой - погуглите на тему RenderingHints и MediaTracker. Может пригодится. |
|||
|
||||
| Snake174 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 5.10.2011 Где: Miass Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |