当前位置:编程学习 > JAVA >>

想画个框然后在指定位置显示图片,结果只能显示个框,谁帮我看看

res.setContentType("image/png");
BufferedImage bi = new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_INT_RGB);
//BufferedImage bi = ImageIO.read(new File("src/images/router.png"));
Graphics g = bi.getGraphics();
g.setColor(Color.WHITE);// 画框
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setColor(Color.GRAY);// 画框
g.drawRect(0, 0, WIDTH-5, HEIGHT-5);
Image img = new ImageIcon("./WebRoot/images/router.png").getImage();
g.setColor(Color.RED);
g.drawImage(img,600,800,1000,1000, null);//指定位置显示图片

ImageIO.write(bi, "png", byteOutputStream);
topologyGraphics = byteOutputStream.toByteArray();
res.getOutputStream().write(topologyGraphics); --------------------编程问答-------------------- new ImageIcon("./WebRoot/images/router.png")
这句话就不太靠谱,相对路径很不可靠,最好用绝对路径。
看你像是在Web应用中,那么也可以通过servletContext来获取绝对路径。


另外其实建议用ImageIO来读取图片,类似于:
Image img = ImageIO.read(new File("./WebRoot/images/router.png")); --------------------编程问答-------------------- 哥们儿,怎么发了4个相同的贴啊 --------------------编程问答-------------------- Image img = ImageIO.read(new File("./WebRoot/images/router.png"));
这样也报错了
为了测试是不是图片路径的问题,
我在后面加了这个
String s="在这";
g.drawString(s, 600, 800);
也不能显示,只能显示一个框,不知道怎么办,麻烦你教教我吧 --------------------编程问答-------------------- new File("./WebRoot/images/router.png")
这是不行的。。。因为文件路径不对,要用“绝对路径”。无论是计算出来还是写死,必须是绝对路径。


你这个drawString,位置太远了,都写到外面去了吧?
g.drawString("HELLO", 50, 50);
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,