当前位置: 代码迷 >> J2EE >> 怎样将BufferedImage传输到HTML5的canvas,该如何处理
  详细解决方案

怎样将BufferedImage传输到HTML5的canvas,该如何处理

热度:18   发布时间:2016-04-17 23:06:25.0
怎样将BufferedImage传输到HTML5的canvas
环境:SSH2
在Action中解析了一张图像,缓存在BufferedImage的实例image中,需要将image对象中的图像在前端用canvas显示。
各位大神,给个实现思路,不胜感激!!
------解决思路----------------------

var img=new Image()
img.src="你的servlet或其他地址"
cxt.drawImage(img,0,0);

你图像的地址就是一个servlet或什么struts的action之类的,用输出流写入图像的数据就行
------解决思路----------------------
 FileOutputStream fos = new FileOutputStream("img.png");
  fos.write(bImg); 

src 就是你后天的写过来的流。
------解决思路----------------------
你这是一步步要别人把代码给你写完整
假如你是用servlet做的,这个servlet里你就把这个图片写入到response的输出流里

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletExceptionIOException {
  File imageFile = new File("xxx.jpg");
  BufferedImage image = ImageIO.read(imageFile);
  OutputStream out = response.getOutputStream();
  ImageIO.write(image,"jpg",out);
  out.close();
}

然后假如你的servlet的映射url是/readImage

var canvas = document.getElementById('mycanvas');
 var context = canvas.getContext('2d');
 var img = new Image();
 img.src="/readImage";
context.drawImage(img,0,0);

------解决思路----------------------
只要能访问图片的url就可以,可以参见验证码的实现