2015-12-02 124 views
0

我正在使用javafx製作棒球遊戲應用程序。我想在棒球場上展示一名棒球運動員。但是,有一個白盒子限制了球員並阻擋了棒球場的視野。 如何使用javafx刪除此框?使圖像的一部分透明

import java.io.File; 
import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.image.Image; 
import javafx.scene.image.ImageView; 
import javafx.scene.layout.StackPane; 
import javafx.stage.Stage; 

public class BaseballView extends Application { 

    @Override 
    public void start(Stage stage) { 

     StackPane root = new StackPane(); 
     String image = this.getClass().getResource("baseball_field.jpg") 
      .toExternalForm(); 
     root.setStyle(" -fx-background-image: url('" + image + "'); " 
      + "-fx-background-position: center center; " 
      + "-fx-background-repeat: stretch;"); 
     stage.setScene(new Scene(root, 340, 340)); 
     stage.setTitle("Baseball"); 
     ImageView player = new ImageView(); 
     player.setTranslateX(250); 

     player.setImage(new Image("player.bmp")); 
     root.getChildren().add(player); 
     stage.show(); 
    } 

    public static void main(String[] args) { 
     Application.launch(args); 
    } 
} 

回答

1

使用PNG文件格式,如果你想要在圖像的透明度。 BMP是非常有限的,幾乎不支持任何地方在這方面。

+0

我可以將文件類型更改爲任何東西。我下載的圖片是一個bmp。我可以使用paint來更改文件類型。 – Halbort

+0

請勿將其更改爲「任何內容」,將其更改爲PNG並保留透明度。 BMP非常有限,例如, G。只有32位BMP圖像支持透明度。然後,圖像閱讀器需要支持這一點。此外,如果您需要關於該特定圖像的幫助,則應該將圖像置於您的問題中,因爲這是問題所在。 – Roland

+0

原始圖像有空白。 – Halbort