2016-10-30 1 views
1

이미지를 기하학적으로 변환 된 텍스트를 적용,자바 : 나는 <code>BufferedImage</code>의 <code>getGraphics</code> 사용하여 이미지를 표준 텍스트를 적용 할 수 있습니다 알고

Graphics g = image.getGraphics(); 
g.setFont(g.getFont().deriveFont(30f)); 
g.drawString("Hello World!", 100, 100); 
g.dispose() 

내가 응용 프로그램을 만들려고하고를하는 나는 거에서 기하학적으로 텍스트를 적용하는 일반적인 방법이

ImageSample

인가 : 기하학적 변환 (예 : 회전, 전단, 프로젝션)처럼 같은 내가 마지막으로 얻을 수있는 이미지와 텍스트를 적용 할 수 위 이미지 에서처럼 변환?

+0

어떤 라이브러리를 사용 하시겠습니까? – user1803551

+0

스윙이나 기타 표준으로 간주 될 수 있습니다 – SomethingSomething

답변

2

JavaFX는 Java 8부터 "표준으로 간주됩니다"이며 사용이 간편합니다. Text 객체에 변형을 적용하고 StackPane을 사용하여 이미지 위에 놓을 수 있습니다.

enter image description here

public class MyApp extends Application { 

    @Override 
    public void start(Stage stage) throws Exception { 

     ImageView lena = new ImageView(new Image("main/Lenna.png")); //URL to image 

     Text text1 = new Text("Hello World!"); 
     text1.setRotate(30); 
     text1.setTranslateX(100); 
     text1.setTranslateY(-100); 
     text1.setFont(Font.font("Veranda", FontWeight.BOLD, 36)); 
     text1.setFill(Color.BLUE); 

     Text text2 = new Text("Hello Lenna!"); 
     PerspectiveTransform perspectiveTrasform = new PerspectiveTransform(); 
     perspectiveTrasform.setUlx(10); 
     perspectiveTrasform.setUly(10); 
     perspectiveTrasform.setUrx(300); 
     perspectiveTrasform.setUry(40); 
     perspectiveTrasform.setLrx(300); 
     perspectiveTrasform.setLry(60); 
     perspectiveTrasform.setLlx(10); 
     perspectiveTrasform.setLly(90); 
     text2.setEffect(perspectiveTrasform); 
     text2.setFont(Font.font("Veranda", FontWeight.BOLD, 36)); 

     StackPane pane = new StackPane(lena, text1, text2); 
     Scene scene = new Scene(pane); 
     stage.setScene(scene); 
     stage.show(); 
    } 

    public static void main(String[] args) throws Exception { 

     launch(args); 
    } 
} 

더 많은 정보를 원하시면도 Applying Effects to Text 참조하십시오.

+0

놀라운! 고맙습니다! – SomethingSomething

+0

어떻게 같은 이미지를 얻었습니까? jux curious – Elltz

+0

@Elltz https://en.wikipedia.org/wiki/Lenna – user1803551

관련 문제