网络编程生图.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 6 章 生成图像 本章要点 在服务器端产生一个二进制的图像数据,并传给浏览器显示的技术。 HTTP协议中的MIME类型 Servlet向客户端返回MIME类型(图像) 在服务器端生成统计图形 将图形转化成JPEG格式 生成动态图形以及传输图形实例(三种方式) 见Word文档 Java中面向Web的图形 产生图形有两种方式: (1)在客户端Applet中产生图形。 要求客户端支持Applet。动态改变显示在客户端的图形。--地理监控、联网游戏 (2)在服务器端产生图形。 简单,可传递参数内容,动态地从服务器上产生图形,缺点是图形一经下载不能再被改变。--网上报表系统 HTTP协议中的MIME类型 MIME(Multipurpose Internet Mail Extension)全称为多用途网际邮件扩展。 使用Internet邮件标准传输多媒体数据。 服务器端向客户端发送每个文件时,在头部包含了描述文件类型的信息。 MIME的形式:类型 / 子类型 例如: Image/jpeg:客户端程序把收到的数据作为图形显示。 Image/gif:作为gif格式的图形显示。 Audio/aiff:作为音频流来播放。 Application/msword:作为一个Word文档来打开。 Text/html:表示给浏览器的是一个HTML网页。 MIME的类型和子类型是在Content-type头域中描述。 P36 表4-1 常用的MIME中有关图形和声音的类型和子类型 Servlet向客户端返回MIME类型 通过响应对象的setContentType(String)方法来指定MIME类型: static final private String CONTENT_TYPE = image/jpeg; response.setContentType(CONTENT_TYPE); // 指定MIME类型 响应的MIME类型只能指定一次。当指定非文本的MIME类型后,不能再指定文本类型。 Servlet向客户端返回二进制数据 不能使用针对文本的PrintWrite对象。 img id=chart src=“servlet/ImageServlet?ChartType=Bar” width=300 height=300 Servlet API中提供了响应对象的getOutputStream()返回一个OutputStream对象,利用该对象写入字节数组,将图像传给客户端。 操作前先把图像流转化成二进制数组 ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); OutputStream Out = res.getOutputStream(); encoder = JPEGCodec.createJPEGEncoder(byteOut); encoder .encode(img); byte[] buf = byteOut.toByteArray(); byteOut.close(); res.setContentLength(buf.length); Out.write(buf); Out.close(); 在服务器端生成统计图形 相关类:设计模式为标准的MVC模式。 (1)数据类----所有统计图形的数据源;(MODEL) (2)绘图类----根据数据类生成具体的统计图形;(VIEW) (3)控制类----负责从客户端得到生成统计数据所需的参数,以及将产生的图形(GIF或JPEG)传送到客户端。(Control)该类一般由Servlet完成。 //建立BufferedImage图形对象 protected BufferedImage createImage(int w, int h, Color bg) { BufferedImage img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Graphics g = img.getGraphics(); //取得图形环境 g.setColor(bg); g.fillRect(0,0,w,h); return img; } 静态常量TYPE_INT_RGB是产生JPEG图形必须的。 产生条形图 主要利用两种绘图方法: void drawRect(int x, int y, int width, int height); void fillRect(int x, int y, int width, int height); void setColor(C

文档评论(0)

mv2323 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档