我是第一次嘗試Java的C/C++程序員。我目前正在研究一個讀取大量數據並構建地圖的程序。我想給用戶選擇使用複選框切換地圖的各種功能。是否可以使用Java Swing存儲構建的圖像以便稍後顯示?
在Win32 API中,我可以通過預先在透明位圖上構建特徵,然後使用BitBlt()將它們疊加在另一個上來實現此目的。 Java Swing支持類似的東西嗎?我想我不是唯一一個想要這樣做的人。構建特徵相對較慢,所以我只想生成一次圖層,然後將其複製到我用作顯示的JPanel。
在此先感謝!
我是第一次嘗試Java的C/C++程序員。我目前正在研究一個讀取大量數據並構建地圖的程序。我想給用戶選擇使用複選框切換地圖的各種功能。是否可以使用Java Swing存儲構建的圖像以便稍後顯示?
在Win32 API中,我可以通過預先在透明位圖上構建特徵,然後使用BitBlt()將它們疊加在另一個上來實現此目的。 Java Swing支持類似的東西嗎?我想我不是唯一一個想要這樣做的人。構建特徵相對較慢,所以我只想生成一次圖層,然後將其複製到我用作顯示的JPanel。
在此先感謝!
您可以使用BufferedImage
類將圖像存儲在Swing中,然後使用它來稍後繪製最終圖像。 http://docs.oracle.com/javase/6/docs/api/java/awt/image/BufferedImage.html
通過使用圖像的alpha值,稍後可以將最終圖像繪製到JPanel上(可能通過重寫JPanel的paintComponent
方法)。
您可以動態創建具有Alpha通道的BufferedImage對象,然後只在複選框被選中時纔在一幀上繪製該對象。
完美!這只是我尋找的功能。謝謝! – LostOracle
太棒了!很高興幫助你:D – resueman