我想问你如何在java上选择绘制一个区域。我在Netbeans做了一个项目,我有一个背景(.GIF)。所以,我想选择这个背景的一部分,因为我在Paint中并制作一个圆形或方形或类似的东西。 我希望能让你轻松,你会理解。
例如,如果我在下面有这张图片,我可以用椭圆标记该区域。
答案 0 :(得分:0)
有关自定义绘画的几种方法,请参阅Custom Painting Approaches。这些示例在普通背景上绘制,但没有理由不能使用图像作为背景。
获得背景的最简单方法是使用带有ImageIcon的JLabel,然后覆盖JLabel的paintComponent()方法。
答案 1 :(得分:0)
基本的想法是,在鼠标按下时画出一个小椭圆形,在鼠标移动时,你“淡化”你之前绘制的旧椭圆并绘制一个更大(或更小,取决于鼠标移动到的位置)的新椭圆),然后在鼠标上,你使椭圆永久。
所以,最棘手的一点可能是如何“重写”前一个椭圆形。
为此你可以使用一种称为XOR绘画的高性能技巧 - 假设g
是Graphics2D
:
g.setXORMode(Color.red);
尽管如此,由于那里的绘画性能较慢,以前在20世纪80年代的微型计算机上使用过。在今天的PC上可能没有必要。在今天的PC上,重新绘制背景图像可能会更好。
顺便说一句,为了检测我提到的鼠标事件,在Java中,你需要使用Listeners。