用Java裁剪图像

时间:2011-10-25 18:46:58

标签: java image crop

我正在尝试用Java剪切图像的某个部分并将其保存回磁盘。是否有一个函数可以使用指定的宽度和高度从X,Y切割图像?

1 个答案:

答案 0 :(得分:18)

你通常

  1. 使用所需的宽度和高度创建一个新的BufferedImagedst以下)。
  2. 抓住它的Graphics对象
  3. 加载原始.jpeg图片(下方src
  4. 将所需部分绘制到BufferedImage
  5. 使用ImageIO将缓冲的图像写入文件。
  6. 在代码中:

    Image src = ImageIO.read(new File("duke.jpg"));
    
    int x = 10, y = 20, w = 40, h = 50;
    
    BufferedImage dst = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
    dst.getGraphics().drawImage(src, 0, 0, w, h, x, y, x + w, y + h, null);
    
    ImageIO.write(dst, "png", new File("duke_cropped.png"));
    

    鉴于此.jpg ......

    enter image description here

    ...它生成此.png:

    enter image description here