Obracanie i skalowanie tekstu

0

Mam następujący problem. Jak przy wykorzystaniu SWINGA/AWT stworzyć graficznie napis który będzie można obracać(suwakiem bądź kliknięciem i poruszaniem myszy). Dokładnie chodzi mi o pierwszą część pytania, nie mogę się dogrzebać do funkcjonalności które by mi to umożliwiły w dosyć prosty sposób. Doszedłem do zawieszenia stringa (drawString) w JFrame i nie mam pomysłu na realizację skalowania i obracania tego napisu(nie jetem pewien czy obrałem dobrą ścieżkę). Każda wskazówka jest mile widziana:)

0

Jeżeli obracać tylko w płaszczyźnie wyświetlania, to najprościej renderujesz go sobie na bitmapę, a zawartość bitmapy możesz już poddawać przekształceniom takim jak obracanie czy skalowanie. Ważne tylko aby nie składać przekształceń (szczególnie takiego samego typu), lecz wychodzić zawsze z oryginalnej bitmapy. Inaczej efekt będzie koszmarny.
Oczywiście można zrobić to trudniej i przekształcać napis na krzywe i wtedy poddawać je bezstratnym przekształceniom (nawet w 3D). Jednak tego drugiego nie podpowiem ponieważ w Javie nigdy nie miałem potrzeby bawienia się grafiką wektorową.

0

Najprościej to wykorzystać metodę transform w paint lub paintComponent.

Graphics2D g2 = (Graphics2D)g; 
AffineTransform obrot = new AffineTransform(1.0f,1.0f,0.0f,-1.0f,1.0f,0.0f);
g2.transform(obrot);
g2.drawString("Test",5,5);

1 użytkowników online, w tym zalogowanych: 0, gości: 1