Java 使用libgdx中的Orthorpahic相机从Pixmap获取像素

Java 使用libgdx中的Orthorpahic相机从Pixmap获取像素,java,android,libgdx,Java,Android,Libgdx,我有一个带变焦的ortographic相机,相机中央有一个纹理 我用以下方法固定了我的世界坐标: height = 20; float ppu = Gdx.graphics.getHeight() / height; width = Gdx.graphics.getWidth() / ppu; camera = new OrthographicCamera(width, height); 当用户在图像中触地时,我想检索用户单击的颜色像素。因此,在接地事件中,我有: Vector3 worldC

我有一个带变焦的ortographic相机,相机中央有一个纹理

我用以下方法固定了我的世界坐标:

height = 20;
float ppu = Gdx.graphics.getHeight() / height;
width = Gdx.graphics.getWidth() / ppu;
camera = new OrthographicCamera(width, height);
当用户在图像中触地时,我想检索用户单击的颜色像素。因此,在接地事件中,我有:

Vector3 worldCoordinate =camera.unproject(new Vector3(screenX, screenY, 0));
float newX = worldCoordinate.x;
float newY = worldCoordinate.y;
Pixmap source = img.getPixmap();
int color = source.getPixel(newX, newY);
问题是getPixel方法期望的是整数而不是浮点,而且相机内部的纹理大小是width=106.6,height=80,纹理的维度是3436(宽度),2409(高度)。我不知道如何将相机坐标映射到对象坐标以获得用户单击的确切像素

有什么建议吗? 谢谢