网站用户上传图片剪裁 - java源码

关于网站用户上传图片剪裁java源码
public static void cutImage(String srcPath, int width, int height) throws IOException {
    File srcFile = new File(srcPath); 
    BufferedImage image = ImageIO.read(srcFile); 
    int srcWidth = image.getWidth(null); 
    int srcHeight = image.getHeight(null); 
    int newWidth = 0, newHeight = 0; 
    int x = 0, y = 0; 
    double scale_w = (double)width/srcWidth; 
    double scale_h = (double)height/srcHeight; 
    System.out.println("scale_w="+scale_w+",scale_h="+scale_h); 
    //按原比例缩放图片 
    if(scale_w < scale_h) { 
        newHeight = height; 
        newWidth = (int)(srcWidth * scale_h); 
        x = (newWidth - width)/2; 
    } else { 
        newHeight = (int)(srcHeight * scale_w); 
        newWidth = width; 
        y = (newHeight - height)/2; 
    } 
    BufferedImage newImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB); 
    newImage.getGraphics().drawImage( 
    image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null); 
    // 保存缩放后的图片
    String fileSufix = srcFile.getName().substring(srcFile.getName().lastIndexOf(".") + 1); 
    File destFile = new File(srcFile.getParent(), UUID.randomUUID().toString() + "." + fileSufix); 
    // ImageIO.write(newImage, fileSufix, destFile); 
    // 保存裁剪后的图片 
    ImageIO.write(newImage.getSubimage(x, y, width, height), fileSufix, destFile); 
}

已经对照javaeye个人头像上传,基本一样。今天传了大概有7,8张垃圾图片吧,管理员请原谅啊!

你可能感兴趣的:(java)