用Java裁剪图像

Aka*_*ash 4 java image crop

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

aio*_*obe 20

你通常会

  1. 创建一个具有所需宽度和高度的新BufferedImage(dst下方).
  2. 抓住它的Graphics对象
  3. 加载原始.jpeg图像(src如下)
  4. 将所需的部分涂在上面 BufferedImage
  5. 使用将缓冲的图像写入文件ImageIO.

在代码中:

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"));
Run Code Online (Sandbox Code Playgroud)

鉴于此.jpg ...

在此输入图像描述

...它生成这个.png:

在此输入图像描述