[英]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.