2013-10-24 99 views
2

我試圖呈現從所謂的帝國時代的老遊戲中的動畫GIF ...和GIF用黑色而不是透明的奇怪呈現... 的GIF是http://ageofempiresgif.altervista.org/en/archive.phpJavaFX的圖像不能正常呈現

任何GIF
+0

呈現沒有看到代碼,或者至少你是如何呈現的圖像的解釋,這幾乎是不可能爲我們提供幫助。 –

+0

我使用的imageview的與GIF圖像 – user2916346

+0

ImageView的IMG =新ImageView的(); – user2916346

回答

3

發行複製

我可以複製的GIF帝國的時代的不正確呈現在我的機器(Java8b111,Win7的,ATI的Radeon HD 4600)上。

blackknight

問題在JavaFX的問題跟蹤器跟蹤

問題是RT-23233 GIF frames have incorrect background(登錄上是必需的,但任何人都可以註冊並在所提供的鏈接,並查看該問題的細節)。該問題計劃在Java 8後期發佈中實現。

的原因是JavaFX的嚴格遵守的gif規範而大多數的gif渲染的實現(例如所有常見的瀏覽器)是更寬容的,因此(「正確」)呈現圖像不同。鏈接的RT-23233是放鬆了JavaFX GIF渲染器的實現,使其呈現GIF格式,如帝國時代正確GIF的請求。

是複製問題只是使用的ImageView

import javafx.application.Application; 
import javafx.scene.*; 
import javafx.scene.image.*; 
import javafx.stage.Stage; 

public class AOE extends Application { 
    @Override public void start(final Stage stage) throws Exception { 
     stage.setScene(
      new Scene(
       new Group(
        new ImageView(
         new Image(
          "http://ageofempiresgif.altervista.org/33995109.gif" 
         ) 
        ) 
       ) 
      ) 
     ); 
     stage.show(); 
    } 

    public static void main(String[] args) { launch(AOE.class); } 
} 
樣本程序

是複製問題只是使用的WebView

import javafx.application.Application; 
import javafx.scene.*; 
import javafx.scene.web.WebView; 
import javafx.stage.Stage; 

public class AoEWebView extends Application { 
    @Override public void start(final Stage stage) throws Exception { 
     WebView webView = new WebView(); 
     webView.getEngine().load("http://ageofempiresgif.altervista.org/en/archive.php"); 

     stage.setScene(
       new Scene(
         new Group(
          webView 
         ) 
       ) 
     ); 
     stage.show(); 
    } 

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

認字JavaFX中的WebView呈現示例程序

webviewimages

示例頁面在Firefox

firefoximages