jsp旋转的椭圆

付费节点推荐


免费节点


节点使用教程


此为jsp response对象中conttentType属性的小实验。
<%@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>

未经允许不得转载:Bcoder资源网 » jsp旋转的椭圆

相关推荐

更多优质资源关注微信公众号: bcoder

bcoder
赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册