2017-03-20 1 views
1

javafx 소프트웨어에 이미지가 있고 코드에서 크기를 정의하고 싶습니다. 내가 그림을 읽고있는 코드는 다음과 같습니다 :javafx 인터페이스 내의 이미지 크기 변경

image= new Image(gui.getClass().getResourceAsStream("img.gif")); 
imageIMG.setGraphic(new ImageView(image)); 

GUI에서이 이미지의 크기를 정의하고 싶습니다. 크기를 설정하려고 할 때 image.setHeight/Width과 같은 메서드를 사용할 수 없다는 것을 알았습니다. 이미지의 크기를 정의 할 수없는 이유는 무엇입니까? 그렇게 할 수있는 다른 방법이 있습니까?

편집 : 이것은 그래픽에서 이미지를로드하기 위해 수행하는 작업입니다.

답변

4

JavaFX의 Image은 이미지 데이터의 컨테이너 일뿐입니다. 로딩 할 때 (다른 생성자를 사용하여) 이미지의 크기를 조정할 수 있지만이 변경은 영구적이지만 메모리를 절약하는 데는 유용 할 수 있습니다.

Image을 표시하려면 ImageView에 넣으십시오. 이 클래스에는 필요에 따라 이미지를 동적으로 확장하는 메서드가 있습니다. 기본 데이터는 변경되지 않습니다.

Image은 재사용 할 수 있습니다. 동일한 Image을 여러 개의 ImageView에서 사용할 수 있으며 동일한 이미지를 여러 장 복사하지 않고도 크기를 다르게 표시 할 수 있습니다.

업데이트 실제로 setGraphic을 사용하고

image= new Image(gui.getClass().getResourceAsStream("img.gif")); 
ImageView iv = new ImageView(image); 
iv.setFitWidth(100); // Change size 
imageIMG.setGraphic(iv); 
+0

(새 이미지 뷰 (이미지)); 내 인터페이스에로드 할 수 있지만 여전히 이미지의 크기를 어떻게 바꿀 수 있는지 확실하지 않습니다. – konstantin