目前在Java工作,我希望能够使用鼠标指针坐标选择图像的一部分。然后,需要从现有图像中剪切选定的区域,并用于创建新的单独图像。
就像关于如何去做的几点一样。感谢。
答案 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 Images和How to Write a Mouse Listener。获得BufferedImage
和所需坐标后,drawImage()
将完成您想要的大部分工作。