大小图生成的两种方法-未整理

图片上传都要使用输入流和输出流
inputStream is = null
outputSteam os = null
is = file.getInputStream();
保存文件信息
os= fileOutputStream("输出路径");

文件上传操作
创建字节数组
byte[] buff= new byte[1024];
int len= 0;
判断数组大小如果比0大的话,大于0的话,说明内容的,
while( (len=is.read(buff))>0){
os.writer(buff);
}

原图文件,相对路径,绝对路径共三个参数
file.getOriginalFilename();
1.使用一个开源类库,生成一个缩略图
Thunbnail.of(file.getInputStream()).size(WIDTH,HEIGHI).toFile("服务器路径");

2.使用AWT
定义一上输入流,把文件输入服务端
使用Image工具对原图进行读入和分析
Image ima = ImageIO.read(file.getInputStream());
获取原图的高度
宽度
定义一个缩略比例
宽度和高度

等比缩略,要进行计算,如果完缩比大于高缩比,取大的值
定义一个中间值wh=0;
if(width >hieght){
wh=with;

}else{
wh=hieght;
}
nWidth = 原图width/wh;
nHieght = 原图Hieght/wh;

获取一个缓存图片对象
bufferedImage buffIma=new BufferedImage(nWidth,nHieght,BufferedImage.Type_int_RGB)

buffIma.getGraphics().drawImage(image.getScaledInstance(nWith,nHieght,image.Scale_Smooth),0,0,null);


获取一个后缀名//image/jpeg 图像信息+图像类型
String imgType = file.getContextType().substring(file.getContext().indexOf("/")+1);

ImageIO.write(buffIma,imgType,os);


jsp页面

<img src=${pageContext.request.contextPath}${imageURL}/>

keepAspectRatio(false)不用进行等比缩略
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值