校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 用JSP創(chuàng)建可重用的圖形背景

用JSP創(chuàng)建可重用的圖形背景

熱門標簽:山東智能云外呼管理系統(tǒng) 外呼系統(tǒng)啥意思 地圖標注制作道路 地圖標注創(chuàng)業(yè)項目入駐 長春回撥外呼系統(tǒng)廠家 電銷外呼系統(tǒng) 排行榜 珠海銷售外呼系統(tǒng)運營商 廣州三五防封電銷卡 四川電信外呼系統(tǒng)靠譜嗎
有一個技術可以在Java Server Pages(JSP)中產(chǎn)生整齊、精細的直方圖,它可以用來作為可重用的背景。為了達到可重用性的目的,你需要使得圖形的尺寸可以調整,你還應該管理直方塊以免它們越過圖形區(qū)域的邊界。然后,你還需要把圖形數(shù)據(jù)編碼為一種可用的圖形格式。我們將利用這個代碼例子介紹本技巧。
你需要什么?

為了開始運行本文所給出的例子,你需要JDK 1.2或者它的更高版本(http://java.sun.com)。你還需要一個支持JSP的Web服務器。我在Tomcat上測試該例子,我用com.sun.image.codec.jpeg 類(在Sun Java 2 SDK中發(fā)布)進行圖形數(shù)據(jù)的編碼。

可重用的背景

既然你希望擁有可重用的背景,你應該創(chuàng)建一個Java類來管理布局,包括標題區(qū)和外部邊界。如A所示。

圖A



正如你所看到的那樣,我在標題區(qū)和外部邊界上都進行了陰影處理。標題有一個白色的、一個象素寬的邊界,圖形區(qū)有一個細的黑色邊界。這些邊界增加了陰影的清晰度。

邊界很容易產(chǎn)生。用Graphics2D對象的fill()方法來填充一個藍色的標題矩形,然后用draw()方法用其它顏色畫出邊界。

產(chǎn)生陰影效果也很簡單。首先,用fill()方法畫出一個陰影。然后,在偏移七個象素的地方畫出標題。這個偏移產(chǎn)生了三維的效果,這樣就得到了陰影效果。

舉一個例子

假設有一家公司銷售農產(chǎn)品,它需要一個直方圖來顯示銷售額。在實際應用場合下,我們需要從一個數(shù)據(jù)庫或者XML文件中獲取這些數(shù)據(jù),但是為了簡單起見,我們假設銷售額數(shù)據(jù)保存在下面的兩個數(shù)組中:
String datanames[] = {"蘋果", "桔子", "桃子", "檸檬", "柚子"};
int datavalues[] = {11, 62, 33, 102, 50};


第一個數(shù)組保存該公司出售的各種農產(chǎn)品的項目。第二個數(shù)組為對應各農產(chǎn)品的銷售額。

準備好直方圖

直方圖將以JPEG格式顯示和保存,所以我們需要正確設置MIME,即內容類型。瀏覽器利用MIME類型來決定如何做出反應。下面的代碼用以設置MIME類型:
response.setContentType("image/jpeg");

接下來,我們需要一個表示該圖像的對象。Java 2D API支持BufferedImage類,它提供了一種在內存中保存和管理象素數(shù)據(jù)的方法。我們希望圖形是彩色的,所以使用了TYPE_INT_RGB圖形類型。WIDTHHEIGHT這兩個整形數(shù)據(jù)用來以象素為單位指定該圖像的寬度和高度:
BufferedImage bi = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);

現(xiàn)在我們有個一個BufferedImage對象,我們可以通過調用該對象的createGraphics()方法來設置Graphics2D的內容:
Graphics2D biContext = bi.createGraphics();

寬度、高度和極大值

創(chuàng)建該圖的程序員需要根據(jù)該圖形的重要程度和頁面的整體布局來設置WIDTH參數(shù)。圖形元素根據(jù)圖形寬度的改變自動調整自身的大小。

標題的寬度和邊界區(qū)域,以及圖形的最長直方塊需要根據(jù)WIDTH參數(shù)進行計算。這樣做的目的是為了確保所有的圖形元素都沒有超過圖形的寬度而越過圖形的右邊界。

需要顯示的數(shù)據(jù)條目數(shù)決定了圖形的HEIGHT參數(shù)。如果有新的元素添加到datavalues[]datanames[]數(shù)組,那么圖形的高度就應該對應增長以適應所需顯示的區(qū)域大小。

maximum參數(shù)用于最長直方塊。然后,其它直方塊的寬度按照相對于maximum的量進行計算:
int barWidth = (innerWIDTH * currentValue) / maximum;

上面的算法用到了maximum和圖形的innerWIDTH(圖形區(qū)域)這兩個數(shù)值來確保直方塊會隨著WIDTH數(shù)值的改變而自動伸縮。

顯示圖形背景

為了顯示該圖形,我們需要創(chuàng)建一個背景圖像,然后添加圖形數(shù)據(jù)。首先,創(chuàng)建一個graphBG對象并調用它的draw()方法:
graphBG gr = new graphBG();
gr.draw(biContext, WIDTH, HEIGHT, "Farm Produce", "Overall Average: " + average);

draw()方法的參數(shù)包括圖形內容、biContext、WIDTHHEIGHTgraphBG類利用它們來決定標題和圖形區(qū)域的寬度和高度。最后,計算average數(shù)據(jù)值并添加到標題中顯示的文本中。

 

創(chuàng)建直方塊

每個直方塊的縱坐標(y軸)位置按照如下公式計算:y_pos = i * displayHeight + headerOffset。其中displayHeight等于直方塊上文本的高度加上直方塊的高度,headerOffset表示從圖形頂端開始的垂直距離,包括標題區(qū)域以及陰影的高度。

我用了前面創(chuàng)建標題邊界的技術創(chuàng)建了這些直方塊以及它們的邊界。我把直方塊邊界的寬度和高度分別減去一個象素,這樣每個直方塊看起來都有一個紅色的邊界,并通過在白色背景上畫上內邊界使得減切效果的產(chǎn)生變得簡單起來。

編碼

我們已經(jīng)在內存中建立好了這幅圖片,現(xiàn)在我們對它進行編碼并把它顯示給用戶。我們不能用默認得JSP輸出流來處理JPEG,所以我們需要利用response.getOutputStream()從響應對象中獲取流。我們可以用輸出流來創(chuàng)建一個JPEGImageEncoder對象并調用它的encode(),傳遞我們在前面創(chuàng)建的BufferedImage對象:
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
encoder.encode(bi);


產(chǎn)生的圖象相對較小,只占用了13.7千字節(jié)的容量。B給出了最終的效果:

圖B



無論從那個方面來說,index.jsp的輸出都是一個JPEG圖像。你可以把它保存到你的桌面上或者按PrintScreen鍵來抓圖。如果你需要在同一頁上顯示多幅圖形或者把圖形引入到其它內容中,你可以使用HTML的img標記(img src = ”index.jsp”>),然后,當需要時放置該圖,如利用一個表格。

也許最老的用于動態(tài)產(chǎn)生圖形的Internet技術之一可以實現(xiàn)處了顯示一個圖像之外的其它任務。設想你需要記錄這副圖的瀏覽人數(shù)(類似記錄廣告點擊次數(shù)的情況),那么你需要在index.jsp中實現(xiàn)諸如點擊計數(shù)、數(shù)據(jù)庫或者文件訪問之類的任務,你可以在后臺處理這些任務而不需要利用緩沖頁面切換給用戶。

結論

我們在本文之中檢驗了一種產(chǎn)生整齊、看上去很舒服的直方圖。我們巧妙的處理了圖形尺寸的改變以及編碼為JPEG格式,并且討論了通過修改HTML代碼的方式把最終產(chǎn)生的圖片放置在頁面的不同位置上。

您可能感興趣的文章:
  • 輕松使用JSP生成餅圖
  • jsp實現(xiàn)生成中國國旗圖片效果代碼
  • jsp中點擊圖片彈出文件上傳界面及預覽功能的實現(xiàn)
  • 使用Java打印數(shù)字組成的魔方陣及字符組成的鉆石圖形
  • 詳解Java圖形化編程中的鼠標事件設計
  • 使用Java編寫圖形化的菜單的教程
  • Java Web開發(fā)之圖形驗證碼的生成與使用方法
  • Java計算幾何圖形面積的實例代碼
  • java圖形界面編程之模擬血壓計
  • 解析Java圖形化編程中的文本框和文本區(qū)
  • JavaWeb實現(xiàn)圖形報表折線圖的方法

標簽:肇慶 北海 玉樹 潮州 紹興 保定 廣元 吳忠

巨人網(wǎng)絡通訊聲明:本文標題《用JSP創(chuàng)建可重用的圖形背景》,本文關鍵詞  用,JSP,創(chuàng)建,可重,用的,圖形,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用JSP創(chuàng)建可重用的圖形背景》相關的同類信息!
  • 本頁收集關于用JSP創(chuàng)建可重用的圖形背景的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    av爱爱亚洲一区| 欧美亚洲国产怡红院影院| 看电视剧不卡顿的网站| 香蕉加勒比综合久久| 亚洲大尺度视频在线观看| 香蕉成人啪国产精品视频综合网| 亚洲伦理在线精品| 亚洲制服丝袜在线| 天堂在线亚洲视频| 麻豆精品久久精品色综合| 精品亚洲国内自在自线福利| 国产真实乱偷精品视频免| 国产成人综合网| 97se亚洲国产综合在线| 欧美日韩国产综合视频在线观看| 欧美一卡二卡三卡| 久久伊人蜜桃av一区二区| 国产午夜久久久久| 国产精品国产三级国产普通话三级 | 欧美va天堂va视频va在线| 日韩一区二区精品在线观看| 久久夜色精品一区| 亚洲欧洲综合另类| 麻豆中文一区二区| 成人91在线观看| 91.麻豆视频| 国产欧美综合在线观看第十页| 日韩理论电影院| 免费观看一级特黄欧美大片| 成人免费av在线| 欧美日韩国产电影| 国产人伦精品一区二区| 亚洲第一搞黄网站| 国产精品456露脸| 欧洲一区二区三区在线| 国产三级精品视频| 天天综合网天天综合色| 成人爱爱电影网址| 欧美变态tickle挠乳网站| 亚洲男人天堂av网| 国产高清亚洲一区| 欧美一区二区三区四区久久| 亚洲欧洲精品一区二区三区| 麻豆精品在线观看| 欧美日韩视频在线观看一区二区三区 | 成人一级片在线观看| 欧美精品色一区二区三区| 国产精品天美传媒沈樵| 老司机精品视频一区二区三区| 91蝌蚪国产九色| 日本一区二区视频在线| 久草精品在线观看| 884aa四虎影成人精品一区| 亚洲免费在线观看视频| 欧美色视频在线| 国产精品传媒入口麻豆| 国产精品 日产精品 欧美精品| 欧美午夜精品久久久| 亚洲欧洲成人av每日更新| 激情都市一区二区| 日韩欧美视频一区| 日韩电影在线观看网站| 欧美日韩国产高清一区二区三区| 亚洲色图丝袜美腿| 91视频免费观看| 国产精品国产精品国产专区不蜜 | 国内精品不卡在线| 日韩欧美在线一区二区三区| 午夜久久久久久久久久一区二区| 91国产免费看| 亚洲一区二区三区中文字幕在线| 99在线视频精品| ...xxx性欧美| 日本乱码高清不卡字幕| 亚洲久本草在线中文字幕| 91啪九色porn原创视频在线观看| 中文字幕亚洲不卡| 91久久精品一区二区二区| 亚洲美女屁股眼交3| 日本韩国欧美三级| 亚洲国产视频网站| 91精品国产综合久久福利| 日韩激情一二三区| 欧美v国产在线一区二区三区| 久久国产生活片100| 久久久久久久久99精品| 成人免费av资源| 亚洲综合丁香婷婷六月香| 在线播放视频一区| 久久精品国产精品青草| 久久久精品免费网站| 99精品视频一区二区三区| 一区二区三区在线观看视频| 欧美日本高清视频在线观看| 毛片av一区二区| 国产精品三级电影| 欧美日韩一级视频| 国产在线看一区| 亚洲精品日韩综合观看成人91| 精品视频免费在线| 久久99国产精品免费网站| 国产精品女主播在线观看| 欧美色图天堂网| 国产裸体歌舞团一区二区| 亚洲欧美日韩中文字幕一区二区三区| 欧美日韩一区成人| 国产精品123| 亚洲国产综合色| 国产偷v国产偷v亚洲高清| 日本久久电影网| 国产精品综合视频| 午夜精品免费在线观看| 久久综合色8888| 欧美在线不卡一区| 国产精华液一区二区三区| 丝袜国产日韩另类美女| 国产精品高潮久久久久无| 5858s免费视频成人| 成人av综合一区| 国产一区二区三区四区五区美女 | 天天av天天翘天天综合网 | 综合色中文字幕| 精品国产露脸精彩对白| 欧美在线不卡一区| av电影天堂一区二区在线观看| 久久精品噜噜噜成人av农村| 一区二区三区高清不卡| 国产午夜精品久久久久久久 | 免费看日韩a级影片| 一区二区三区影院| 欧美国产精品一区二区三区| 欧美第一区第二区| 91麻豆精品国产综合久久久久久 | 91在线观看高清| 国产资源精品在线观看| 免费精品视频在线| 日本免费在线视频不卡一不卡二| 一区二区三区欧美久久| 亚洲欧洲韩国日本视频| 国产精品久久免费看| 久久综合九色综合97_久久久 | 国产99久久久精品| 激情久久五月天| 狠狠狠色丁香婷婷综合激情| 日韩专区一卡二卡| 日韩国产在线一| 视频一区在线播放| 五月天一区二区三区| 亚洲国产毛片aaaaa无费看| 一区二区国产视频| 一区二区三区四区激情 | 在线不卡中文字幕播放| 精品视频一区 二区 三区| 欧美日韩国产高清一区| 欧美日产国产精品| 91麻豆精品国产91久久久更新时间| 欧美色综合影院| 91精品国产综合久久蜜臀| 欧美大尺度电影在线| 精品入口麻豆88视频| 久久久另类综合| 国产精品免费免费| 一区二区三区欧美日韩| 日韩高清在线电影| 紧缚奴在线一区二区三区| 国内精品免费在线观看| 国产成人在线观看免费网站| 成+人+亚洲+综合天堂| 色综合中文综合网| 亚瑟在线精品视频| 蜜臀99久久精品久久久久久软件| 国内精品视频一区二区三区八戒| 成人永久aaa| 欧美三级在线视频| 欧美xxx久久| 1024成人网| 丝袜国产日韩另类美女| 国产很黄免费观看久久| 色偷偷成人一区二区三区91| 欧美久久久久久久久久 | 色美美综合视频| 6080日韩午夜伦伦午夜伦| 国产三级精品三级在线专区| 亚洲一区二区在线免费观看视频 | 日本美女一区二区三区| 国产69精品一区二区亚洲孕妇| 色噜噜久久综合| 欧美精品一区二区久久久| 亚洲另类一区二区| 国产一区二区在线看| 欧美亚洲日本一区| 国产欧美日韩亚州综合| 青椒成人免费视频| 色综合天天狠狠| 久久久综合精品| 日本不卡123| 91老司机福利 在线| 久久久久久久久久久久久久久99 | 久久夜色精品国产欧美乱极品| 亚洲精品成人天堂一二三|