簡體   English   中英

jar文件中的ImageIO

[英]ImageIO inside jar file

好的,所以我正在嘗試為我的介紹屏幕制作一個API用於多個游戲,我花了最后5-6個小時試圖弄清楚這個問題。

假設我在我的游戲中引用了API.jar,並且我試圖調用方法getByteArray(),它應該將幀加載為BufferedImage然后返回byte []數據。 在嘗試加載圖像時,我經常得到input == null。

public byte[] getByteArray() throws IOException {
    // Open Image
    String url = "/com/jumpbuttonstudio/api/resources/intro/Frame (" + current_frame + ").jpg";
    System.out.println("Loading: " + url);
    BufferedImage img = ImageIO.read(getClass().getClassLoader().getResourceAsStream(url));

    DataBufferByte data = (DataBufferByte) img.getRaster().getDataBuffer();

    return (data.getData());
}

我真的需要幫助,如果需要,我可以提供更多信息。

注意

上面的代碼在API.jar中,所有圖像都是如此。

如果使用Class.getResourceAsStream(path) ,則路徑必須以/開頭(否則它被視為相對於類包的路徑)。 如果使用ClassLoader.getResourceAsStream(path) ,則路徑不能以/開頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM