我正在尝试用Java剪切图像的某个部分并将其保存回磁盘。是否有一个函数可以使用指定的宽度和高度从X,Y切割图像?
答案 0 :(得分:18)
你通常
BufferedImage
(dst
以下)。Graphics
对象src
)BufferedImage
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"));
鉴于此.jpg ......
...它生成此.png: