Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中加载图像而不自动缩放_Android_Image_Resize_Bufferedimage - Fatal编程技术网

在Android中加载图像而不自动缩放

在Android中加载图像而不自动缩放,android,image,resize,bufferedimage,Android,Image,Resize,Bufferedimage,我试图通过一个图像为游戏创建一张地图,其中每个黑色像素相当于一堵墙,黄色相当于花(1)和绿草(0) 到目前为止,我有这个图像(50x50): 这里的问题似乎是,当我在代码中读取图像时,它会被放大到100x100,甚至在原始文件夹中。我不能让它放大或缩小,因为这样会在图像上产生噪声和模糊,然后地图就不可读了 这是我的代码: (...) Bitmap tab=BitmapFactory.decodeResource(resources, com.example.lolitos2.R.raw.map

我试图通过一个图像为游戏创建一张地图,其中每个黑色像素相当于一堵墙,黄色相当于花(1)和绿草(0) 到目前为止,我有这个图像(50x50):

这里的问题似乎是,当我在代码中读取图像时,它会被放大到100x100,甚至在原始文件夹中。我不能让它放大或缩小,因为这样会在图像上产生噪声和模糊,然后地图就不可读了

这是我的代码:

(...)
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));
            }

        }
    }
(…)
位图选项卡=BitmapFactory.decodeResource(参考资料,com.example.lolitos2.R.raw.mappixel);
//tab=Bitmap.createScaledBitmap(tab,50,50,false);
Log.e(“w”,tab.getWidth()+“+tab.getHeight());
对于(int i=0;i

如何在不重新缩放图像地图的情况下读取图像地图?

问题在下面一行

tab=Bitmap.createScaledBitmap(tab,50,50,false)

把50换成更大的数字

就像我帮了你一样
谢谢

将它们放在
可绘制nodpi
文件夹中,而不是放在
原始
中,然后将它们作为任何其他
位图可绘制
读取即可

如果您有一些系统永远不应该扩展的可提取资源 (可能是因为您自己对图像进行了一些调整。) 运行时),您应该将它们放在带有nodpi的目录中 配置限定符。将考虑使用此限定符的资源 密度不可知,系统不会对其进行缩放

(来自)


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

您阅读了操作吗?他们想要创建一个精确到50x50的位图。我看不出“把那个50个数字改成更大的数字”会有什么帮助。那个么,我很肯定你们并没有去过安卓网站。查看此链接@杜希安帕特尔:你能在那页上指出OP应该看什么吗?@Mira很高兴能帮上忙:)