Spring MVC可使用的AbstractJpegView
系統
1649 0
這和AbstractExcelView,AbstractPdfView不同,此類是實現View接口,實現自定義的視圖解析
?
package
?Action;
import
?java.awt.image.BufferedImage;
import
?java.util.Map;
import
?javax.servlet.ServletOutputStream;
import
?javax.servlet.http.HttpServletRequest;
import
?javax.servlet.http.HttpServletResponse;
import
?org.springframework.web.servlet.View;
import
?sun.awt.image.codec.JPEGImageEncoderImpl;
import
?com.sun.image.codec.jpeg.JPEGImageEncoder;
public
?
abstract
?
class
?AbstractJpegView?
implements
?View?
...
{
????
public
?String?getContentType()?
...
{
????????
//
?TODO?自動生成方法存根
????????
return
?
null
;
????}
????
public
?
int
?getImageWidth()
...
{
return
?
100
;}
????
public
?
int
?getImageHeght()
...
{
return
?
100
;}
????
protected
?
int
?getImageType()
...
{
????????
return
?BufferedImage.TYPE_INT_RGB;
????}
????
public
?
void
?render(Map?map,?HttpServletRequest?request,
????????????HttpServletResponse?response)?
throws
?Exception?
...
{
???????response.setContentType(
"
image/jpeg
"
);
//
設置內容類型
???????BufferedImage?image
=
new
?BufferedImage(
this
.getImageWidth(),
this
.getImageHeght(),
this
.getImageType());
//
緩存圖像
???????buildImage(map,image,request,response);
//
繪制圖像
???????
//
編碼圖像
???????ServletOutputStream?out
=
response.getOutputStream();
???????JPEGImageEncoder?encoder
=
new
?JPEGImageEncoderImpl(out);
???????encoder.encode(image);
???????out.flush();
???????
???????
????}
????
protected
?
abstract
?
void
?buildImage(Map?model,BufferedImage?image,HttpServletRequest?request,HttpServletResponse?response)?
throws
?Exception;
}
?我們只要繼承這個類,實現buildImage方法,就可以輸出人以jpeg圖像了,下面是一個畫圓的簡單實現
?
package
?Action;
import
?java.awt.Graphics;
import
?java.awt.image.BufferedImage;
import
?java.util.Map;
import
?javax.servlet.http.HttpServletRequest;
import
?javax.servlet.http.HttpServletResponse;
public
?
class
?CircleJpegView?
extends
?AbstractJpegView?
...
{
????
????
protected
?
void
?buildImage(Map?model,?BufferedImage?image,
????????????HttpServletRequest?request,?HttpServletResponse?response)
????????????
throws
?Exception?
...
{
????????
//
畫圓
????????Graphics?g
=
image.getGraphics();
????????g.drawOval(
0
,
0
,?
this
.getImageWidth(),?
this
.getImageHeght());
????}
????
}
Spring MVC可使用的AbstractJpegView
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元