我想从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);
效果很差。
原始文件
我在屏幕上看到的内容
我尝试使用不同的TextureOption但没有任何效果。 你能告诉我我做错了吗?
即使我保持宽高比质量差
答案 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,则在缩小尺寸后将图像裁剪为这些规格。