从java中的现有图像中剪切部分图像

时间:2010-06-07 04:56:22

标签: java image image-processing

目前在Java工作,我希望能够使用鼠标指针坐标选择图像的一部分。然后,需要从现有图像中剪切选定的区域,并用于创建新的单独图像。

就像关于如何去做的几点一样。感谢。

2 个答案:

答案 0 :(得分:10)

如果您希望用户能够“单击并拖动”以选择矩形,则需要实现MouseMotionListener。看看mouseDragged方法:

  

<强> void mouseDragged(MouseEvent e)
  在组件上按下鼠标按钮然后拖动时调用。

当您需要掌握子图像时,只需使用

即可
  

<强> public BufferedImage getSubimage(int x, int y, int w, int h)
  返回由指定矩形区域定义的子图像。返回的BufferedImage与原始映像共享相同的数据数组。

如果您想将生成的图像保存到磁盘,建议您查看Saving a Generated Graphic to a PNG or JPEG File

答案 1 :(得分:2)

如果您只想要一个可用的工具或查看它是如何在Java中完成的,请尝试ImageJ。如果您想编写自己的工具,请查看Working with ImagesHow to Write a Mouse Listener。获得BufferedImage和所需坐标后,drawImage()将完成您想要的大部分工作。