【发布时间】:2013-07-01 23:18:15
【问题描述】:
我正在尝试从 BufferImage 制作图像,但它不起作用。这是我的代码...
此代码不起作用,谁能帮帮我...
try {
BufferedImage bimage = (BufferedImage)(new ImageIcon("str")).getImage();
BufferedImage image = new BufferedImage(500, 500, bimage.TYPE_BYTE_GRAY);
File outputfile = new File("saved.png");
ImageIO.write(image, "png", outputfile);
Image image_1 = ImageIO.read(new File("saved.png"));
lp2_2.setIcon(new ImageIcon(image_1));
} catch (IOException e) {}
【问题讨论】:
-
你的输出是什么或错误是什么?
-
你能澄清你所说的“它不工作”是什么意思吗?有编译时错误吗?运行时异常?如果是这样,异常和堆栈跟踪和消息是什么?有没有逻辑错误?
-
如果您在 Windows 中工作,请更改这一行 Image image_1 = ImageIO.read(new File("saved.png")); to Image image_1 = ImageIO.read(new File("d:\\saved.png"));你会得到图像,
-
看看this example,它从文件加载图像并在面板上绘画。也看看Performing Custom Painting和2D Graphics
-
你是如何编译程序的?您如何使用
BufferedImage bimage = (BufferedImage)(new ImageIcon("str")).getImage();将Image 转换为BufferedImage,编译器本身不是在这里阻止您吗?您是否尝试将e.printStackTrace()添加到您的 catch 块中?您一定遇到了某种异常,而您没有看到(例如无法将 Image 转换为 BufferedImage)
标签: java swing file-io bufferedimage imageicon