Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение размеров изображения во Фрейме, Изображение рисуется через Graphics2D 
:(
    Опции темы
AlmazDD
Дата 30.4.2013, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.4.2013
Где: Россия, Москва

Репутация: нет
Всего: нет



Доброго всем времени суток.

Пишу небольшую 2d-игру на Джаве. Отрисовка графики идет через класс Graphics2D внутри JPanel, находящегося на JFrame. 

И вот возникла проблема — как правильно масштабировать графику в окне без потери качества? Ибо имеющийся у меня сейчас вариант, по-моему, не самый лучший — я беру размеры фрейма, делю это число на 1000 (методом научного тыка вывел эту цифру, с ней картинка масштабирована почти так, как должна), а далее, у каждого объекта на экране, значение ширины, высоты и координат на плоскости умножаю на получившееся число. Результат вполне удовлетворяет, но как-то это не красиво — везде эти width*MainFrame.ratioheight*MainFrame.ratio и т.д. В общем, мне кажется, что есть куда более хороший способ (я с Джавой знаком не очень давно, поэтому запросто могу о многом не знать).

Также пробовал отрисовывать всю графику в BufferedImage и потом ресайзить, однако, результат выходил ужасным — качество картинки получалось отвратительным.

Заранее благодарю за помощь.
PM MAIL WWW   Вверх
leskar
Дата 9.8.2013, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 23.4.2008

Репутация: нет
Всего: нет



Как вариант - ресайзить в процессе отрисовки. Навряд ли операции умножения/деления сильно скажутся на производительности.  Или вообще все объекты не рисовать руками, а подгружать из картинок.

Если не работали с графикой - погуглите на тему RenderingHints и MediaTracker. Может пригодится. 
PM MAIL   Вверх
Snake174
Дата 19.8.2013, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 5.10.2011
Где: Miass

Репутация: нет
Всего: нет



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.