当我点击一个点上的鼠标时,我试图得到一个像素的颜色。
我正在使用Graphics,我成功地绘制了一个500x500红色的形状,但是当我试图在mouseX/mouseY位置获取像素的颜色时(在红色的形状之上),它会打印出(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);
} 发布于 2015-02-10 00:45:33
0,0,0是黑色的,如果我没记错的话,这正是鼠标所在像素的颜色,因为鼠标是黑色的,所以我会测试惠特鼠标干扰你的测量,然后尝试鼠标x-1,鼠标-1。
https://stackoverflow.com/questions/28406633
复制相似问题