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