我想在libgdx中动态叠加两个图像。我试图创建两个像素图,然后将它们绘制到纹理中。
问题是最高级别的透明png区域会删除背景中的图片。在示例中,PNG2的白色部分是透明的,图像RESULT的白色部分也是透明的。



我的代码是:

Pixmap imgA = new Pixmap(Gdx.files.internal(back));
Pixmap imgB = new Pixmap(Gdx.files.internal(overlay));

Texture dynamicTexture = new Texture(200, 200, Pixmap.Format.RGBA8888);
dynamicTexture.draw(imgA, 0, 0);
dynamicTexture.draw(imgB, 27, 27);

最佳答案

尝试将较小的像素图绘制到最大的像素图,然后绘制到纹理:

Pixmap imgA = new Pixmap(Gdx.files.internal(back));
Pixmap imgB = new Pixmap(Gdx.files.internal(overlay));
Texture dynamicTexture = new Texture(200, 200, Pixmap.Format.RGBA8888);
imgA.draw(imgB, 27, 27);
dynamicTexture.draw(imgA, 0, 0);


参考:this other question

10-07 22:54