web项目里面涉及到对图片的缩放和裁剪。原理是这样的,首先先对图片进行缩放,然后,将缩放之后的图片进行裁剪,里面涉及到许多java图片api的应用。下面学步园小编来讲解下Java怎样实现图片的缩放和裁剪?
Java怎样实现图片的缩放和裁剪
//参数分别对应了员图片的地址,目的图片的地址,裁剪的坐标和缩放的坐标
publicvoidabscut(finalStringsrcImageFile,StringsavedImagePath,finalintx,finalinty,finalintdestWidth,
finalintdestHeight,finalintfinalWidth,finalintfinalHeight){
Imageimg;
ImageFiltercropFilter;
//读取源图像
BufferedImagebi;
try{
bi=ImageIO.read(newFile(srcImageFile));
intsrcWidth=bi.getWidth();//源图宽度
intsrcHeight=bi.getHeight();//源图高度
System.out.println(“srcWidth=”+srcWidth+“\tsrcHeight=”
+srcHeight);
Imageimage=bi.getScaledInstance(finalWidth,finalHeight,Image.SCALE_DEFAULT);//获取缩放后的图片大小
Java怎样实现图片的缩放和裁剪
cropFilter=newCropImageFilter(x,y,destWidth,destHeight);
img=Toolkit.getDefaultToolkit()。createImage(
newFilteredImageSource(image.getSource(),cropFilter));
BufferedImagetag=newBufferedImage(destWidth,destHeight,
BufferedImage.TYPE_INT_RGB);
Graphicsg=tag.getGraphics();
g.drawImage(img,0,0,null);//绘制截取后的图
g.dispose();
ImageIO.write(tag,getExtention(srcImageFile),newFile(savedImagePath));
//输出为文件
//再次进行缩放
}catch(IOExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
}
/**
*功能:提取文件名的后缀
*
*@paramfileName
*@return
*/
privatestaticStringgetExtention(StringfileName){
intpos=fileName.lastIndexOf(“.”);
returnfileName.substring(pos+1);
}
以上就是关于“Java怎样实现图片的缩放和裁剪”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!