大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> JSP技巧:发送动态图像

JSP技巧:发送动态图像

时间: 2021-07-31 作者:daque

当一个web页面带有image/jpeg (大概其余的图像方法)的mime典型被发送时,你的欣赏器将谁人归来截止看成一个图像,而后欣赏器表露图像,动作页面包车型的士一局部大概实足动作图像自己。要为你的jsp页面树立mime典型,你须要树立页面包车型的士contenttype属性:<%@ page contenttype="image/jpeg" ... %>而后你须要创造一个bufferedimage绘制你的动静图像:bufferedimage image = new bufferedimage(width, height, bufferedimage.type_int_rgb);

  创造完一个bufferedimage后,你须要获得图形情况举行绘制,一个graphics大概graphics2d东西:graphics g = image.getgraphics();// orgraphics2d g2d = image.creategraphics();

  从此刻起你就不妨绘绘图像实质了。对图形情况绘制就会画到bufferedimage。最发端这个图像都是玄色的,所以用你蓄意的后台脸色弥补图像是一个不错的办法,而后,当你实行图像的绘制,你须要dispose图形情况:g.dispose();// org2d.dispose();

  一旦实行图像的绘制,你在response中归来谁人图像。你不妨运用非规范的com.sun.image.codec.jpeg包中的jpegimageencoder类源代码图像,大概即使你运用jdk1.4,你不妨运用规范的imageio类。在运用jpegimageencoder时有一个本领,你必需从servletresponse取来servletoutputstream而不许运用隐含的javascript/" target="_blank">jsp输入变量out。servletoutputstream sos = response.getoutputstream();jpegimageencoder encoder = jpegcodec.createjpegencoder(sos);encoder.encode(image);// orimageio.write(image, "jpeg", out);

  这边有一个从一切的大概计划中(比方g.dispose();大概g2d.dispose();)采用的一个完备的典型.这个例子运用graphics东西绘制一个随机的多角形,图像经过jpegimageencoder绘制,你不妨自在树立多角形的极点数获得更搀杂的形势,换言之,有更多极点和边。  要运转这个典型,将从"<%@"到结果一个"%>"之间的jsp代码放到一个名为image.jsp的文献中,将谁人文献放到你的web效劳器不妨找到的场合,在运用tomcat的情景下是root目次,启用tomcat,考察http://localhost:8080/image.jsp.<%@ page contenttype="image/jpeg" import="java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%><%// create imageint width=200, height=200;bufferedimage image = new bufferedimage(width, height, bufferedimage.type_int_rgb);// get drawing contextgraphics g = image.getgraphics();// fill backgroundg.setcolor(color.white);g.fillrect(0, 0, width, height);// create random polygonpolygon poly = new polygon();random random = new random();for (int i=0; i < 5; i++) {poly.addpoint(random.nextint(width), random.nextint(height));}// fill polygong.setcolor(color.cyan);g.fillpolygon(poly);// dispose contextg.dispose();// send back imageservletoutputstream sos = response.getoutputstream();jpegimageencoder encoder = jpegcodec.createjpegencoder(sos);encoder.encode(image);%>

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.