gpt4 book ai didi

android - 在 Android 中加载不自动缩放的图像

转载 作者:行者123 更新时间:2023-11-29 01:41:59 25 4
gpt4 key购买 nike

我正在尝试通过图像为游戏创建 map ,其中每个黑色像素相当于一堵墙,黄色相当于鲜花 (1) 和绿草 (0)到目前为止我有这张图片(50x50): http://i.imgur.com/Ydj9Cp2.png

这里的问题似乎是,当我在我的代码中读取图像时,它被放大到 100x100,即使我将它放在原始文件夹中也是如此。我不能让它按比例放大或缩小,因为这会给图像带来噪点和模糊,然后 map 将无法读取。

这里有我的代码:

(...)
Bitmap tab=BitmapFactory.decodeResource(resources, com.example.lolitos2.R.raw.mappixel);
//tab=Bitmap.createScaledBitmap(tab, 50, 50, false);
Log.e("w", tab.getWidth()+"."+tab.getHeight());
for (int i = 0; i < tab.getWidth(); i++) {
for (int j = 0; j < tab.getHeight(); j++) {
int x = j;
int y = i;
switch (tab.getPixel(x, y)) {
// se o é uma parede
case Color.BLACK:
getParedes()[x][y] = new Parede(x, y);
break;
case Color.GREEN:
fundo.add(new Passivo(x,y,0));
break;
default:
fundo.add(new Passivo(x,y,1));
}

}
}

如何在不重新调整图像 map 的情况下读取它?

最佳答案

将它们放在 drawable-nodpi 文件夹中,而不是放在 raw 中,然后像读取任何其他 BitmapDrawable 一样读取它们。

If you have some drawable resources that the system should never scale (perhaps because you perform some adjustments to the image yourself at runtime), you should place them in a directory with the nodpi configuration qualifier. Resources with this qualifier are considered density-agnostic and the system will not scale them.

(来自http://developer.android.com/guide/practices/screens_support.html)

(如有必要,还有其他方法,例如,您可以为 BitmapFactory.decodeResource 的选项提供一个 inDensity 参数)。

关于android - 在 Android 中加载不自动缩放的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24006461/

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