2017-12-30 17 views
0

javaFx에서 게임을 만들고 있습니다. 내 게임의 개체가 렌더링되는 방법은 다음과 같습니다 : "각도"라는 자신의 분야 중 하나에 따라 달라집니다 :javaFx 이미지 높이와 너비가 뒤로 이동 했습니까?

 gc.save(); 
     gc.transform(new Affine(new Rotate(angle, getCenterX(), getCenterY()))); 
     gc.drawImage(image, x, y); 
     gc.restore(); 

"GC"는 GraphicsContext입니다. getCenter 메소드는 이미지의 높이와 너비를 사용합니다. 그러나 이미지가 제대로 렌더링되지 않습니다. 몇 가지 테스트를 실시한 결과 메서드를 사용할 때 메서드를 가져올 때 실제로 이미지 높이가 반환된다는 것을 알았습니다. get height 메서드를 호출하면 너비가 반환됩니다. 내 생각에 내가 사용하는 PNG 이미지가 원래 상태와 관련하여 90도 회전 되었기 때문입니다. 그러나 미리보고 크기를 살펴 보니 모든 것이 잘된 것 같습니다. 이미지를 복제하려고 시도했지만 실제로 작동하지 않습니다. 어떤 아이디어가 이것을 고치는 방법? 나는이 질문이 내 프로그램의 논리보다 png 파일과 javaFx의 Image 메서드의 속성과 더 관련이 있다고 믿기 때문에 검증 가능한 코드 예제가 없다. 여기


enter image description here enter image description here

는 검증 코드 예제입니다

import javafx.embed.swing.JFXPanel; 
import javafx.scene.image.Image; 

public class TestImage {  
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     JFXPanel jfxPanel = new JFXPanel(); 
     Image BLUE01 = new Image("/blue01.png"); 
     System.out.println("height : "+ BLUE01.getHeight()); 
     System.out.println("wdith : "+ BLUE01.getWidth()); 
    } 
} 

그리고 여기 이미지 : 문제가되지 내 코드에서 오는 enter image description here

+0

image.getWidth()의 메서드 정의는 어디에 있습니까? – Aaron

+0

@Aaron 그것은 javaFx 메소드입니다. https://docs.oracle.com/javase/8/javafx/api/toc.htm – Ptolemorphism

+0

getWidth가 현재 그래픽 컨텍스트를 통과한다고 가정하는 것이 합리적입니까? 회전하는 선을 제거하면 올바르게 작동합니까? – usr2564301

답변

0

것 같다 하지만 IDE를 사용해서 ... 이미지를 편집하거나 추가 한 후에 n 리소스 폴더, 이클립스에서 "새로 고침"을 클릭해야합니다 ...

관련 문제