现在的位置: 首页 > 移动开发 > 正文

Java怎样实现图片的缩放和裁剪

2020年06月08日 移动开发 ⁄ 共 1424字 ⁄ 字号 评论关闭

  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技术的优质平台!

抱歉!评论已关闭.