Andengine gles2 - 奇怪的JPG外观

时间:2014-04-09 13:24:35

标签: android opengl-es andengine

我想从JPG加载背景纹理,将其缩小到合适的大小。所以我有1920x1080的图片,我把它缩放到~800x480。

BitmapTextureAtlas splashTextureAtlas = new BitmapTextureAtlas(this.getTextureManager(), 1920, 1080, TextureOptions.DEFAULT);
        splashTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(splashTextureAtlas, this, "new/splash_bg1.JPG", 0, 0);
        splashTextureAtlas.load();

Sprite splash = new Sprite(0, 0, splashTextureRegion, mEngine.getVertexBufferObjectManager());
        splash.setScale(mainScaleX);

效果很差。

原始文件

enter image description here

我在屏幕上看到的内容

enter image description here

我尝试使用不同的TextureOption但没有任何效果。 你能告诉我我做错了吗?


更新

即使我保持宽高比质量差

enter image description here

2 个答案:

答案 0 :(得分:2)

默认情况下,出于性能原因禁用抖动。对于经历非常糟糕条带的渐变纹理,请尝试将其添加到您的精灵创建中:

Sprite splash = new Sprite(0, 0, splashTextureRegion, mEngine.getVertexBufferObjectManager()) {

    protected void preDraw(GLState pGLState, Camera pCamera) {
        super.preDraw(pGlState, pCamera);
        pGlState.enableDither();
    }

};

答案 1 :(得分:0)

问题可能在于您的缩放 - 在1920x1080,您的宽高比为1.777 - 但在800x480时,宽高比为1.667。

尝试将图像缩放到800x450或853x480以保持1.777的宽高比 - 如果您确实需要800x480,则在缩小尺寸后将图像裁剪为这些规格。