Java 鼠标单击图形后获取单个像素的颜色

Java 鼠标单击图形后获取单个像素的颜色,java,awt,mouselistener,Java,Awt,Mouselistener,当我用鼠标点击一个点时,我试图得到一个像素的颜色 我使用的是图形,我成功地绘制了一个500x500的红色图形,但当我尝试在鼠标/鼠标位置(在我绘制的红色图形上方)获取像素的颜色时,它会打印出(0,0,0),而不是红色RGB值 public void getColor(int mouseX, int mouseY) { Color myColor = Color.RED; globalGraphics.setColor(myColor);

当我用鼠标点击一个点时,我试图得到一个像素的颜色

我使用的是
图形
,我成功地绘制了一个500x500的红色图形,但当我尝试在
鼠标
/
鼠标
位置(在我绘制的红色图形上方)获取像素的颜色时,它会打印出
(0,0,0)
,而不是红色RGB值

    public void getColor(int mouseX, int mouseY)
    {
        Color myColor = Color.RED;
        globalGraphics.setColor(myColor);
        globalGraphics.fillRect(0,0,500,500);
        int color = getRGB(mouseX, mouseY);
        int red = (color >> 16) & 0x000000FF;
        int green = (color >>8 ) & 0x000000FF;
        int blue = (color) & 0x000000FF;
        System.out.println(red+" "+green+" "+blue);         
    }

    public void mouseClicked(MouseEvent e)
    {
        int mouseY = e.getY();
        int mouseX = e.getX();
        getColor(mouseX,mouseY);
    } 

如果我没记错的话,0,0,0是黑色的,这正是鼠标所在像素的颜色,因为鼠标是黑色的,所以我会测试鼠标是否会干扰你的测量,然后在这里尝试mouseX-1,mouseY-1

What is
getRGB
?要更快地获得更好的帮助,请发布一个(最小完整的可验证示例)或(简短、独立、正确的示例)。