从java中的现有图像中剪切图像的一部分
目前在Java中工作,我希望能够使用鼠标指针坐标来选择图像的一部分。选择的区域需要从现有图像中剪切,并用于创建一个新的独立图像。从java中的现有图像中剪切图像的一部分
就像一些指导如何去做。谢谢。
如果您希望用户能够“点击并拖动”来选择矩形,您需要实施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。
如果您只是想要一个可用的工具或查看它是如何在Java中完成的,请尝试ImageJ。如果你想写自己的工具,看看Working with Images和How to Write a Mouse Listener。一旦你有一个BufferedImage
和所需的坐标,drawImage()
将做你想要的大部分。
感谢您的肯定回答:-) – Julio 2010-06-07 05:40:59
我对此表示怀疑,这是什么问题?这篇文章更适合于rentacoder.com。是的,你可以做到。首先看看Graphics2D和MouseListener。 – 2010-06-07 05:01:00