gpt4 book ai didi

Android OpenGL : Bitmap. getHeight() > 实际高度

转载 作者:行者123 更新时间:2023-11-29 16:20:20 26 4
gpt4 key购买 nike

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.background);

我的 background.png 大小为 512x512px

我使用BitmapFactory加载后台资源文件的Bitmap。

奇怪的事情:

Log.d("bitmap height", bmp.getHeight() + "px");

总是返回 768px。

这怎么可能?

我的 openGL 是这样设置的:

width = 480;
height = 800;
gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrthof(0.0f, width, 0.0f, height, -1.0f, 1.0f);

gl.glShadeModel(GL10.GL_FLAT);
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glColor4x(0x10000, 0x10000, 0x10000, 0x10000);
gl.glEnable(GL10.GL_TEXTURE_2D);


gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
gl.glClearColor(0.5f, 0.5f, 0.5f, 1);
gl.glDisable(GL10.GL_DEPTH_TEST);
gl.glDisable(GL10.GL_DITHER);
gl.glDisable(GL10.GL_LIGHTING);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

最佳答案

当位图的 DPI 与屏幕的 DPI 不匹配时,BitmapFactory 将缩放位图。解决方案是将 inScaled 选项设置为 false:

BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inScaled = false;
Bitmap bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.background, opts);

关于Android OpenGL : Bitmap. getHeight() > 实际高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7405247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com