Graphics2D、获取当前像素点颜色

1、改变画笔的大小是Graphics所不具有的,应该创建一个Graphics2D对象,他是Graphics的子类,
然后调用其setStroke()方法,而setStroke()需要一个Stroke做参数,但是Stroke类是一个接口,所以我们转用一个BasicStroke来实现他。
所以方法如下,5为画笔的大小。
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(5));


2、实现颜色选取器的时候需要获取用户单击点处的颜色,获取指定点颜色的方法是Robot类里的getPixelColor(int a,int b)方法,所以只需要将用户点击的坐标传进去即可,然而这个方法里面的坐标是屏幕上的绝对坐标,不能用鼠标监听里e.getX()或e.getY()这些获取相对坐标的方法来获取,这里需要使用MouseEvent里的另一个方法来获取,即e.getXOnScreen()和e.getYOnScreen();
代码即:
Robot r = new Robot();
Color color = r.getPixelColor(e.getXOnScreen(),e.getYOnScreen());

你可能感兴趣的:(graphics)