最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jsp實現(xiàn)生成中國國旗圖片效果代碼

 更新時間:2015年10月30日 12:44:34   作者:5iasp  
這篇文章主要介紹了jsp實現(xiàn)生成中國國旗圖片效果代碼,涉及JSP圖形繪制及數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了jsp實現(xiàn)生成中國國旗圖片效果代碼。分享給大家供大家參考,具體如下:

圖片截圖如下:

具體代碼如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="image/jpeg" import="java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*,java.awt.Shape.*,java.awt.geom.*,com.sun.image.codec.jpeg.*" %>
<%
 out.clear();
 response.setContentType("image/jpeg");
 response.setHeader("Pragma","No-cache");
 response.setHeader("Cache-Control","no-cache");
 response.setDateHeader("Expires", 0);
 int width =300;
 int height = width/3*2; 
   double maxR = 0.15, minR = 0.05; 
   double maxX = 0.50, maxY = 0.50; 
   double[] minX = {0.75, 0.85, 0.85, 0.75}; 
   double[] minY = {0.35, 0.45, 0.60, 0.70}; 
 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
 java.awt.Graphics2D g=(java.awt.Graphics2D)image.createGraphics();
 g.clearRect(0, 0,width,height);
 g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 //畫棋面
 g.setColor(java.awt.Color.red);
 g.fillRect(0, 0, width, height);
 //g.fillRect(50, 50, width, height);
 g.setColor(java.awt.Color.yellow);
 //畫大五角星
    double ox = height*maxX, oy = height*maxY;
 g.fill(createPentacle(ox,oy,height*maxR,-Math.PI/2)); 
 //畫小五角星
    for(int idx =0;idx < 4;idx ++){ 
      double sx = minX[idx]*height, sy = minY[idx]*height; 
      double theta = Math.atan2(oy-sy,ox-sx); 
      g.fill(createPentacle(sx,sy,height*minR,theta)); 
    } 
 g.dispose();
 out.clearBuffer(); 
 out = pageContext.pushBody();
 //ImageIO.write(image, "JPEG", response.getOutputStream());
  ServletOutputStream outStream = response.getOutputStream();
    JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(outStream);
    encoder.encode(image);
    outStream.close();
%>
<%!
 public static java.awt.Shape createPentacle(double sx, double sy, double radius,double theta) {
 final double arc = Math.PI / 5;
 final double rad = Math.sin(Math.PI / 10) / Math.sin(3 * Math.PI / 10);
 GeneralPath path = new GeneralPath();
 path.moveTo(1, 0);
 for (int idx = 0; idx < 5; idx++) {
  path.lineTo(rad * Math.cos((1 + 2 * idx) * arc),rad * Math.sin((1 + 2 * idx) * arc));
  path.lineTo(Math.cos(2 * (idx + 1) * arc),Math.sin(2 * (idx + 1) * arc));
 }
 path.closePath();
 AffineTransform atf = AffineTransform.getScaleInstance(radius, radius);
 atf.translate(sx / radius, sy / radius);
 atf.rotate(theta);
 return atf.createTransformedShape(path);
 }
%>

將代碼另存為jsp文件,放在運(yùn)行目錄下執(zhí)行即可。

代碼在tomcat6.0下測試通過

希望本文所述對大家JSP程序設(shè)計有所幫助。

相關(guān)文章

最新評論

南昌市| 田阳县| 界首市| 阿拉善盟| 库伦旗| 崇文区| 赤峰市| 黎川县| 九江县| 龙里县| 定边县| 永顺县| 西藏| 大港区| 广州市| 横山县| 若尔盖县| 正镶白旗| 平原县| 东明县| 门源| 大安市| 永丰县| 南宁市| 集贤县| 江安县| 阿合奇县| 化德县| 英吉沙县| 曲靖市| 吉隆县| 南靖县| 峨眉山市| 昌黎县| 顺义区| 肇庆市| 延津县| 宁明县| 开平市| 新沂市| 柳林县|