计算两个日期内相隔的天数 and 旋转图片

本文提供了两个实用的Java方法:一是计算两个日期之间的天数差;二是实现图片的旋转功能,支持任意角度旋转,并可设定图片背景色。
/**
* 计算两个日期内相隔的天数
* @param fDate
* @param oDate
* @return
*/
public static int daysOfTwo(Date fDate,Date oDate)
{
//首先定义一个calendar,必须使用getInstance()进行实例化
Calendar aCalendar=Calendar.getInstance();
//里面野可以直接插入date类型
aCalendar.setTime(fDate);
//计算此日期是一年中的哪一天
int day1=aCalendar.get(Calendar.DAY_OF_YEAR);
aCalendar.setTime(oDate);
int day2=aCalendar.get(Calendar.DAY_OF_YEAR);
//求出两日期相隔天数
int days=day2-day1;
return days;
}
/**
* 旋转图片
* @param filePath 图片路径
* @param degree 旋转角度 最好是90或者是90的倍数
* @param bgcolor 设置图片的背景色
*/
public static void rotateImg1(String filePath,int degree, Color bgcolor ){
String path = "f:\\t.jpg";
File img = new File(path);
try {
BufferedImage image = (BufferedImage)ImageIO.read(img);
int iw = image.getWidth();//原始图象的宽度
int ih = image.getHeight();//原始图象的高度
int w=0;
int h=0;
int x=0;
int y=0;
degree=degree%360;
if(degree<0)degree=360+degree;//将角度转换到0-360度之间
double ang=degree* 0.0174532925;//将角度转为弧度

/**
*确定旋转后的图象的高度和宽度
*/

if(degree == 180|| degree == 0 || degree == 360){
w = iw;
h = ih;
}else if(degree == 90|| degree == 270){
w = ih;
h = iw;
}else{
int d=iw+ih;
w=(int)(d*Math.abs(Math.cos(ang)));
h=(int)(d*Math.abs(Math.sin(ang)));
}

x = (w/2)-(iw/2);//确定原点坐标
y = (h/2)-(ih/2);
BufferedImage rotatedImage=new BufferedImage(w,h,image.getType());
Graphics gs=rotatedImage.getGraphics();
gs.setColor(bgcolor);
gs.fillRect(0,0,w,h);//以给定颜色绘制旋转后图片的背景
AffineTransform at=new AffineTransform();
at.rotate(ang,w/2,h/2);//旋转图象
at.translate(x,y);
AffineTransformOp op=new AffineTransformOp(at,AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
op.filter(image, rotatedImage);
BufferedImage new_img = rotatedImage;
FileOutputStream out = new FileOutputStream(path);
try{
ImageIO.write(new_img, "JPG", out);
}finally{
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}

}
下载方式:https://pan.quark.cn/s/c9b9b647468b ### 初级JSP程序设计教程核心内容解析#### 一、JSP基础概述JSP(JavaServer Pages)是由Sun Microsystems公司创建的一种动态网页技术规范,主要应用于构建动态网站及Web应用。JSP技术使得开发者能够将动态数据与静态HTML文档整合,从而实现网页内容的灵活性和可变性。##### JSP的显著特性:1. **动态与静态内容的分离**:JSP技术支持将动态数据(例如数据库查询结果、实时时间等)嵌入到静态HTML文档中。这种设计方法增强了网页的适应性和可维护性。2. **易用性**:开发者可以利用常规的HTML编辑工具来编写静态部分,并通过简化的标签技术将动态内容集成到页面中。3. **跨平台兼容性**:基于Java平台的JSP具有优良的跨操作系统运行能力,能够在多种不同的系统环境中稳定工作。4. **强大的后台支持**:JSP能够通过JavaBean组件访问后端数据库及其他资源,以实现复杂的数据处理逻辑。5. **执行效率高**:JSP页面在初次被请求时会被转换为Servlet,随后的请求可以直接执行编译后的Servlet代码,从而提升了服务响应的效率。#### 二、JSP指令的运用JSP指令用于设定整个JSP页面的行为规范。这些指令通常放置在页面的顶部,向JSP容器提供处理页面的相关指导信息。##### 主要的指令类型:1. **Page指令**: - **语法结构**:`<%@ page attribute="value" %>` - **功能**:定义整个JSP页面的运行特性,如设定页面编码格式、错误处理机制等。 - **实例**: ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值