当前位置:K88软件开发文章中心编程全书编程全书02 → 文章内容

jsp旋转的椭圆

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 8:17:54

-->

此为jsp response对象中conttentType属性的小实验。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<%@page import="com.sun.image.codec.jpeg.JPEGCodec"%>
<%@page import="com.sun.image.codec.jpeg.JPEGImageEncoder"%>
<%@page import="java.io.OutputStream"%>
<%@page import="java.awt.geom.AffineTransform"%>
<%@page import="java.awt.geom.Ellipse2D"%>
<%@page import="java.awt.Graphics2D"%>
<%@page import="java.awt.Color"%>
<%@page import="java.awt.Graphics"%>
<%@page import="java.awt.image.BufferedImage"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<title>Insert title here</title>
</head>
<body>
<br>观看旋转的椭圆
<form action="" method="post" name=form>
<input type="submit" name="submit" value="观看">

</form>
<%
String str=request.getParameter("submit");
if(str !=null){
response.setContentType("image/jpeg");
int width=260,height=260;
// 创建一个不带透明色的BufferedImage对象
BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
//Graphics类提供基本绘图方法
Graphics g=image.getGraphics();
g.setColor(Color.white);
//填充指定的矩形
g.fillRect(0,0,width,height);
Graphics2D g_2d=(Graphics2D)g;
//构造一个新 Ellipse2D,并将其初始化为:位置 (0, 0)、大小 (0, 0)。
Ellipse2D ellipse =new Ellipse2D.Double(20,50,120,50);
g_2d.setColor(Color.blue);
//AffineTransform 类表示 2D 仿射变换,它执行从 2D 坐标到其他 2D 坐标的线性映射.
AffineTransform trans=new AffineTransform();
for(int i=1;i<=24;i++){
trans.rotate(15.0*Math.PI/180,75,75);
g_2d.setTransform(trans); // 重写 Graphics2D 上下文中的 Transform。
g_2d.draw(ellipse); //使用当前 Graphics2D 上下文的设置勾画 Shape 的轮廓。
}
g.dispose(); //释放此图形的上下文以及它使用的所有系统资源。
OutputStream outClient =response.getOutputStream();
//获取指向用户端的输出流
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(outClient);
encoder.encode(image);

}

%>

</body>
</html>

jsp旋转的椭圆