为什么我只得到部分图像? (libGDX,sprite,spriteBatch)

Why am I only getting a partial image? (libGDX,sprite,spriteBatch)

底部的问题摘要。

这是超级简单的代码,但显然我不明白这个库中发生了什么。当我使用此代码在 libGDX 中加载圆形图像时:

public class LevelTest extends ApplicationAdapter implements GestureListener, InputProcessor{
Sprite maze;
SpriteBatch batch;
Texture mazeImage;

@Override
public void create(){
    mazeImage = new Texture(Gdx.files.internal("maze.png"));
    maze = new Sprite(mazeImage);
    maze.setPosition(100, 100);
    maze.setSize(70, 70);
    batch = new SpriteBatch();
}

@Override
public void render(){
    Gdx.gl.glClearColor(0, 0, 1, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.begin();
    //batch.draw(maze, 0, 0, maze.getOriginX(), maze.getOriginY());
    maze.draw(batch);
    batch.end();
}

它只显示四分之一的圆形图像。它应该是一个完整的圆形迷宫,但只显示图像右上角的 1/4。

这是它显示的内容:

有趣的是,如果我将图像大小从 70,70 更改为 100, 100,它似乎会以条纹的形式随机选取图像部分并将它们翻转到图像的另一侧。所以我最终得到重叠、条纹、镜像、1/4 图像,如下所示:

3。 我尝试使用 .jpg 而不是显示黑色线条,而是透明的线条。 (见下文)。我通过对图像进行负片处理(将黑线更改为白线)来解决此问题,但我仍然想知道为什么 libGDX 使黑色部分透明。

  1. 如何让整个图像显示为 PNG?
  2. 到底是什么导致图像断断续续并将其自身的某些部分镜像为 PNG?
  3. 为什么 JPG 的颜色是反的(黑色显示白色,白色显示黑色)

提前感谢您对这些问题的帮助。

原来我使用的 .png 图像没有正确编码。我曾使用一个名为 "Lunapic" 的网站将白色更改为透明。多亏了 Tenfour04,我下载了 Gimp 并用它使白色部分变得透明,并且所有图像都以 libGDX 应有的方式工作。