1
我想寫一個NXT機器人模擬器與lejOS機器人可以避免障礙,但我想要在代碼中生成的障礙。下面的代碼允許創建Circle.jpg,但是如果代碼嘗試使用它創建的圖像,代碼會崩潰。該代碼在Intellij IDEA中工作,但不會與以前生成的圖像一起蝕刻。我曾嘗試沒有結果如下:Java生成的圖像不能用於生成它們的代碼中?
- 用於代替的.jpg
- 使用和.png由之前的運行產生的,這意味着它已經存在的圖像。
- 變更類型從不透明到半透明等
我想知道我在做什麼,使圖像崩潰我的代碼生成的動態圖像時?
更新:增加了用於調用新jpg的命令和一個錯誤圖片。
public static void obstacleFactory()
{
int width = 30;
int height = 30;
GraphicsEnvironment environment =
GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device =
environment.getDefaultScreenDevice();
GraphicsConfiguration config = device.getDefaultConfiguration();
BufferedImage bufferedImage = config.createCompatibleImage(width, height,
Transparency.TRANSLUCENT);
Graphics2D g2d = bufferedImage.createGraphics();
g2d.setColor(Color.yellow);
g2d.fillOval(0, 0, width, height);
g2d.dispose();
RenderedImage rendImage = bufferedImage;
try {
File file = new File("src/sprites/Circle.jpg");
ImageIO.write(rendImage, "jpg", file);
} catch (IOException e) {}
}
和命令的使用調用JPG是
NxtContext.useObstacle("sprites/Circle.jpg", 250, 475);
這就是日食說:
更新的問題,謝謝。 – FossilizedCarlos 2012-03-28 16:58:16
我並不熟悉lejOS/NXT,但異常似乎主要與加載有關,而不是保存。你確定你的文件路徑指定正確嗎?在創建代碼中使用'src/sprites /',但在加載時只使用'sprites /',可以嗎?您可能要檢查指定的演員路徑文件(如這裏:'http://www.aplu.ch/classdoc/jgamegrid/ch/aplu/jgamegrid/Actor.html#Actor(boolean,java.lang中。字符串)') – Mikhail 2012-03-30 10:23:05
是的。圖像取自/ sprites,假設lejOS庫負責其餘部分。我生成的圖像來自普通的Java代碼,所以我必須告訴它完整的路徑。 – FossilizedCarlos 2012-03-31 00:33:05