成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何從JSP頁面傳送動態圖片

開發 后端
你是否曾經想過從JSP頁面(或者servlet)中發送動態產生的圖像?這篇文章會告訴你如何去做。

要運行本文的代碼,你需要一個Tomcat或者其他支持JSP 1.1的Web服務器。

當一個Web頁面帶有image/jpeg (或者其他的圖像格式)的MIME類型被發送時,你的瀏覽器將那個返回結果當作一個圖像,然后瀏覽器顯示圖像,作為頁面的一部分或者完全作為圖像自身。要為你的jsp頁面設置MIME類型,你需要設置頁面的contentType屬性:

然后你需要創建一個BufferedImage繪制你的動態圖像:

BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);

創建完一個BufferedImage后,你需要得到圖形環境進行繪制,一個Graphics或者Graphics2D對象:

<table cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 
align=center borderColorLight=black border=1> <tr> <td class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6> Graphics g = image.getGraphics(); // or Graphics2d g2d = image.createGraphics();</td></tr> </table>

從現在起你就可以繪制圖像內容了。對圖形環境繪制就會畫到BufferedImage。最開始這個圖像都是黑色的,因此用你希望的背景顏色填充圖像是一個不錯的主意,然后,當你完成圖像的繪制,你需要dispose圖形環境:

<table cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 
align=center borderColorLight=black border=1>
<tr> <td class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6>
g.dispose();
// or
g2d.dispose();</td></tr>
</table>

一旦完成圖像的繪制,你在response中返回那個圖像。你可以使用非標準的com.sun.image.codec.jpeg包中的JPEGImageEncoder類編碼圖像,或者如果你使用JDK1.4,你可以使用標準的ImageIO類。在使用JPEGImageEncoder時有一個技巧,你必須從ServletResponse取來ServletOutputStream而不能使用隱含的JSP輸出變量out。

<table cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 
align=center borderColorLight=black border=1>
<tr> <td class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6>
ServletOutputStream sos = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
// or
ImageIO.write(image, "JPEG", out);</td></tr>
</table>

這里有一個從所有的可能方案中(例如g.dispose();或者g2d.dispose();)選取的一個完整的范例.這個例子使用Graphics對象繪制一個隨機的多邊形,圖像通過JPEGImageEncoder繪制,你可以自由設置多邊形的頂點數得到更復雜的形狀,換言之,有更多頂點和邊。

要運行這個范例,將從""之間的jsp代碼放到一個名為image.jsp的文件中,將那個文件放到你的web服務器可以找到的地方,在使用Tomcat的情況下是ROOT目錄,啟動Tomcat,訪問http://localhost:8080/image.jsp

 <table cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
<tr> <td class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6>
 <%@ page contentType="image/jpeg"
  import="java.awt.*,java.awt.image.*,
  com.sun.image.codec.jpeg.*,java.util.*"
  %>  
  <%
  // Create image
  int width=200, height=200;
  BufferedImage image = new BufferedImage(width,
  height, BufferedImage.TYPE_INT_RGB);
  // Get drawing context  
  Graphics g = image.getGraphics();
  // Fill background
  g.setColor(Color.white);
  g.fillRect(0, 0, width, height);
  // Create random polygon
  Polygon poly = new Polygon();
  Random random = new Random();
  for (int i=0; i < 5; i++) {
  poly.addPoint(random.nextInt(width),
  random.nextInt(height));
  }
  // Fill polygon
  g.setColor(Color.cyan);
  g.fillPolygon(poly);
  // Dispose context
  g.dispose();
  // Send back image
  ServletOutputStream sos = response.getOutputStream();
  JPEGImageEncoder encoder =
  JPEGCodec.createJPEGEncoder(sos);
  encoder.encode(image);
  %>

【編輯推薦】

  1. 高性能、高彈性JSP和Servlet性能優化
  2. JSTL和EL開發JSP頁面的優勢及實現
  3. JSP中JavaBean應用步驟詳解
責任編輯:楊鵬飛 來源: Java吧
相關推薦

2009-07-03 10:52:33

MIDletJSP頁面

2012-05-24 15:41:38

PHP

2009-07-02 13:36:24

動態頁面JSP技術

2009-12-08 11:16:07

PHP動態圖像創建

2021-04-18 20:49:03

Pyecharts圖表 組件

2009-07-06 09:34:19

JSP頁面

2009-07-01 18:50:29

Dreamweaver

2009-08-11 13:27:09

C#動態圖像按鈕

2009-06-30 15:22:55

JSP頁面

2009-07-02 14:24:02

JSP讀取數據庫

2009-07-03 18:12:49

JSP頁面

2017-07-05 16:22:09

HTML5canvas動態

2009-07-07 15:07:59

JSP上傳圖片

2009-07-06 10:00:31

JSP頁面傳值

2009-03-16 15:07:20

JSP分頁window.openJSP表單

2009-06-10 17:03:36

JSP動態生成

2021-05-13 15:23:31

人工智能深度學習

2009-07-07 18:20:54

JSP頁面顯示亂碼

2009-07-02 09:25:41

JSP實現頁面跳轉

2009-06-09 10:44:36

JavaScript改
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产激情自拍视频 | 日本黄色激情视频 | 18性欧美| 成人午夜网 | 久久精品国产一区二区三区不卡 | 国产精品久久亚洲 | 黄色免费av | 久久久久久国产 | 日韩在线精品视频 | 国产欧美一区二区三区久久手机版 | 久草资源网站 | 国内毛片毛片毛片毛片 | 色婷婷综合久久久中字幕精品久久 | 亚洲精品欧美 | 国产一区二区三区在线 | 日韩中文字幕2019 | 欧美视频二区 | 天天色综网| 天天影视综合 | 亚洲日本一区二区 | 日韩成人一区 | 日韩成人在线播放 | 在线看一区二区三区 | av免费在线播放 | 7777精品伊人久久精品影视 | 成人黄页在线观看 | 免费成人在线网站 | 一级片在线观看视频 | 日本黄色高清视频 | 神马九九 | 国产999精品久久久影片官网 | 亚洲成av| 我爱操 | 97免费视频在线观看 | 91视频在线 | www.天天操| 国内精品一区二区三区 | 国产精品xxxx| 久久精品国产一区二区三区不卡 | 乱一性一乱一交一视频a∨ 色爱av | 亚洲成人免费电影 |