android - LibGDX抗锯齿使边缘变灰

标签 android libgdx textures gimp

我的 libGDX 舞台上有小 (20x20) 圆圈。我用 GIMP 创建了纹理,对于 hdpi 设备它是 (30x30)。当我在我的游戏中使用它时,它看起来像预期的那样。 enter image description here

但是当我尝试使用以下代码进行线性过滤时

textureRegion.getTexture().setFilter(Texture.TextureFilter.Linear,Texture.TextureFilter.Linear);

,由于某种原因,圆圈有灰色边缘:

Circle with linear filtering

我检查了 GIMP 中的图像,它没有任何抗锯齿像素。原始纹理看起来与第一张图像相同。为什么会出现,我怎么会有一个圆滑的圆?

最佳答案

如果使用缩小,那么边框可能需要大一点。并且为了避免灰色边界综合症,透明边界不应是 color(0,0,0,0) 而是 alpha channel 为 0 的边缘颜色。因此白边图片将使用 255,255,255 ,0 作为边框颜色。

enter image description here

编辑

我如何使用 GIMP 添加带透明层的边框:

  1. 创建任意大小的 Canvas (GIMP 中的图像大小)(文件 -> 新建)

  2. 在图层上绘制具有透明外边框/空间的图像。

  3. 使用 Colour(255,255,255,0) 在您的图像层下方创建没有空格/边框的新层,以便该层变得不可见。

  4. 导出您的图像。

enter image description here

关于android - LibGDX抗锯齿使边缘变灰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45102586/

相关文章:

java - 创建自己的 Android Java 库

android - Gradle 和最新版本的库

java - libGDX - FitViewport 无法很好地缩放舞台

ios - OpenGLES2.0 中的视频作为纹理

android - 无法在多线程 Android 应用程序上调用 glGenTextures

opengl - 在 OpenGL 的片段着色器中获取原始纹理颜色

android - 将进度条放在用户输入内容后将启动的编辑文本中

Kitkat 中的 Android SSL 超时错误

colors - 在 libgdx 中使用 getStyle 设置标签背景样式

Libgdx - 如何在单个视口(viewport)内旋转屏幕?