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 메서드의 속성과 더 관련이 있다고 믿기 때문에 검증 가능한 코드 예제가 없다. 여기
는 검증 코드 예제입니다
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());
}
}
image.getWidth()의 메서드 정의는 어디에 있습니까? – Aaron
@Aaron 그것은 javaFx 메소드입니다. https://docs.oracle.com/javase/8/javafx/api/toc.htm – Ptolemorphism
getWidth가 현재 그래픽 컨텍스트를 통과한다고 가정하는 것이 합리적입니까? 회전하는 선을 제거하면 올바르게 작동합니까? – usr2564301