【问题标题】:LibGDX: Why my black/white picture gets transparent?LibGDX:为什么我的黑白图片变得透明了?
【发布时间】:2017-10-05 14:22:08
【问题描述】:

我还有另一个 LibGDX 问题 (-_-)。我有这样的黑白图像:

现在我尝试将此图像用作我的 PlayScreen 中的背景图像:

类 PlayScreen:

(...)
Texture background;
(...)
background = new Texture("grid.jpg");
(...)
gameHandler.getBatch().begin();
gameHandler.getBatch().draw(background,0,0,Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
gameHandler.getBatch().end();
(...)

类 GameHandler:

(...)
Gdx.gl.glClearColor(1,  1,  1,  1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
this.getScreen().render(Gdx.graphics.getDeltaTime());
(...)

使用此代码我得到以下信息(错误的比例是因为视口,但这没关系):

如何保持真实图像的颜色?

希望你能帮助我! ~亨利

【问题讨论】:

  • 将纹理实例化为“true”以进行 mip 映射,并将其 minFilter 设置为 MipMapLinearLinear 或 MipMapLinearNearest。但它大多只是看起来是灰色的,因为你正在缩小它以适应屏幕。如果您需要一个非常干净的网格并支持具有不同屏幕尺寸的设备,您需要在运行时通过适当地设置 UV 来平铺您的图案。
  • 我现在正在这样做:D
  • 我建议在 LibGDX 中坚持使用 PNG。 png 图像使用具有逐像素精度的光栅,因此一个 png 图像加载程序和另一个之间没有区别。另一方面,JPEG 不包含原始像素数据,更多的是留待解释。
  • 事实上,我刚刚在 wikipedia 上发现了这一点:“另一方面,JPEG 可能不太适合线条图和其他文本或图标图形,其中相邻像素之间的鲜明对比会导致明显的伪影。此类图像最好保存为无损图形格式,例如 TIFF、GIF、PNG 或原始图像格式。JPEG 标准实际上包括无损编码模式,但大多数产品不支持该模式。"

标签: java libgdx


【解决方案1】:

您的图像已损坏。

试试这个:

知道我改变了路径

1.png

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    相关资源
    最近更新 更多