| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Изменение размеров изображения во Фрейме |
| Автор: AlmazDD 30.4.2013, 18:26 |
| Доброго всем времени суток. Пишу небольшую 2d-игру на Джаве. Отрисовка графики идет через класс Graphics2D внутри JPanel, находящегося на JFrame. И вот возникла проблема — как правильно масштабировать графику в окне без потери качества? Ибо имеющийся у меня сейчас вариант, по-моему, не самый лучший — я беру размеры фрейма, делю это число на 1000 (методом научного тыка вывел эту цифру, с ней картинка масштабирована почти так, как должна), а далее, у каждого объекта на экране, значение ширины, высоты и координат на плоскости умножаю на получившееся число. Результат вполне удовлетворяет, но как-то это не красиво — везде эти width*MainFrame.ratio, height*MainFrame.ratio и т.д. В общем, мне кажется, что есть куда более хороший способ (я с Джавой знаком не очень давно, поэтому запросто могу о многом не знать). Также пробовал отрисовывать всю графику в BufferedImage и потом ресайзить, однако, результат выходил ужасным — качество картинки получалось отвратительным. Заранее благодарю за помощь. |
| Автор: leskar 9.8.2013, 16:26 |
| Как вариант - ресайзить в процессе отрисовки. Навряд ли операции умножения/деления сильно скажутся на производительности. Или вообще все объекты не рисовать руками, а подгружать из картинок. Если не работали с графикой - погуглите на тему RenderingHints и MediaTracker. Может пригодится. |
| Автор: Snake174 19.8.2013, 11:18 |
| http://www.youtube.com/watch?v=9dzhgsVaiSo |