如何剪切图像的多边形部分?

时间:2014-05-17 16:00:47

标签: java image processing

我有一个带有以下顶点的多边形......

20,20
20,30
40,30

和一张图片。我想从图像中切出多边形部分以形成一个新的部分。有没有算法这样做? 我正在使用Processing,如果这有用的话。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以创建一个新图像并使用剪辑集绘制旧图像。

BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);

Graphics g = image.getGraphics();

Path2D path = new Path2D.Double();
path.moveTo(20, 20);
path.lineTo(20, 30);
path.lineTo(40, 30);
path.closePath();

g.setClip(path);
g.drawImage(YourOrigioanlImage, 0, 0, null);

在“处理”中,您可以从PImage创建java.awt.Image,这样您就可以使用上面的代码示例获取PImage,然后执行此操作:

PImage pImage = new PImage(image);

您还可以通过从BufferedImage

转换PImage方法,从getNative()获取PImage个对象