How to crop a polygon shaped portion of BufferedImage and write it to another BufferedImage?
Graphics2D has clip(Shape) and draw(Shape) methods. So I would guess you can set the Shape to be your polygon and then paint from one BufferedImage to the other.