当我用鼠标点击某个点时,我正试图获得单个像素的颜色。
我正在使用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);
}
答案 0 :(得分:0)