java图片缩小算法_图片缩小尺寸算法

java图片缩小算法_图片缩小尺寸算法

ID:82935828

大小:83.67 KB

页数:3页

时间:2023-09-25

上传者:186****5381
java图片缩小算法_图片缩小尺寸算法_第1页
java图片缩小算法_图片缩小尺寸算法_第2页
java图片缩小算法_图片缩小尺寸算法_第3页
资源描述:

《java图片缩小算法_图片缩小尺寸算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

java图⽚缩⼩算法_图⽚缩⼩尺⼨算法packageservice;importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.FileInputStream;importjava.io.InputStream;//图⽚缩⼩尺⼨算法publicclassReduceImgTest{publicstaticvoidmain(String[]args){Filesrcfile=newFile("C:/Users/85339/Desktop/wwwww/w.jpg");Filedistfile=newFile("C:/Users/85339/Desktop/wwwww/s3.png");System.out.println("压缩前图⽚⼤⼩:"+srcfile.length());//缩⼩到原来的0.2倍.,jpg格式的图⽚可以转换成png格式,直接更改存储图⽚⽂件名字就好了,好简单//⽬标图⽚路径,处理好的图⽚存储路径,希望的图⽚宽,希望的图⽚⾼,缩放⽐例,如果缩放⽐例是0,则按照希望的宽⾼设置图⽚reduceImg("C:/Users/85339/Desktop/wwwww/w3.jpg","C:/Users/85339/Desktop/wwwww/s3.png",0,0,0.2f);System.out.println("压缩后图⽚⼤⼩:"+distfile.length());}//指定图⽚宽度和⾼度和压缩⽐例对图⽚进⾏压缩//imgsrc源图⽚地址//imgdist⽬标图⽚地址//widthdist压缩后图⽚的宽度//heightdist压缩后图⽚的⾼度//rate压缩的⽐例publicstaticvoidreduceImg(Stringimgsrc,Stringimgdist,intwidthdist,intheightdist,Floatrate){try{Filesrcfile=newFile(imgsrc);//检查图⽚⽂件是否存在if(!srcfile.exists()){System.out.println("⽂件不存在");}//如果⽐例不为空则说明是按⽐例压缩if(rate!=null&&rate>0){

1//获得源图的宽存数组中int[]results=getImgWidthHeight(srcfile);if(results==null||results[0]==0||results[1]==0){return;}else{//按例缩放或扩图,将浮点型转为整型widthdist=(int)(results[0]*rate);heightdist=(int)(results[1]*rate);}}//开始读取件并进压缩Imagesrc=ImageIO.read(srcfile);//构造个类型为预定义图像类型之的BufferedImageBufferedImagetag=newBufferedImage((int)widthdist,(int)heightdist,BufferedImage.TYPE_INT_RGB);//绘制图像getScaledInstance表创建此图像的缩放版本,返回个新的缩放版本Image,按指定的width,height呈现图像//Image.SCALE_SMOOTH,选择图像平滑度缩放速度具有更优先级的图像缩放算法。tag.getGraphics().drawImage(src.getScaledInstance(widthdist,heightdist,Image.SCALE_SMOOTH),0,0,null);StringformatName=imgdist.substring(imgdist.lastIndexOf(".")+1);ImageIO.write(tag,/*"GIF"*/formatName/*formatdesired*/,newFile(imgdist)/*target*/);}catch(Exceptionef){ef.printStackTrace();}}//获取源图的宽publicstaticint[]getImgWidthHeight(Filefile){InputStreamis=null;BufferedImagesrc=null;intresult[]={0,0};try{//获得件输流is=newFileInputStream(file);//从流将图写缓冲图区src=ImageIO.read(is);result[0]=src.getWidth(null);//得到源图宽

2result[1]=src.getHeight(null);//得到源图⽚⾼is.close();//关闭输⼊流}catch(Exceptionef){ef.printStackTrace();}returnresult;}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭