2

我有一个 9X11 像素的位图,代表一个迷宫,路径为绿色,墙壁为黑色,以橙色和蓝色结尾。

它的矩阵是:

int[][] map = new int[][] { 
            { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, 
            { 0, 0, 1, 0, 0, 0, 0, 0, 1 },
            { 1, 1, 1, 1, 0, 1, 1, 0, 1 }, 
            { 1, 1, 1, 1, 1, 1, 1, 0, 0 },
            { 1, 0, 0, 0, 0, 1, 0, 0, 0 }, 
            { 1, 1, 1, 1, 0, 1, 1, 1, 1 },
            { 1, 1, 1, 1, 0, 1, 0, 0, 1 }, 
            { 1, 1, 1, 1, 0, 1, 0, 0, 1 },
            { 1, 1, 1, 1, 0, 1, 0, 0, 1 }, 
            { 1, 1, 1, 1, 0, 1, 0, 0, 0 },
            { 1, 1, 1, 1, 0, 1, 1, 1, 1 }, };

问题是当我在 ImageView (fill_parent,fill_parent) 中绘制位图时,结果是: 在此处输入图像描述

如何保持像素平方?

注意:我创建位图

 Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

并使用方法设置像素

 bitmap.setPixel(x,y,Color.XXX);
4

1 回答 1

2

如果您希望在不使用抗锯齿的情况下缩放图像视图,您真正需要做的是获取 BitmapDrawable。例子:

BitmapDrawable bd = new BitmapDrawable(activity.getResources(), bitmap);
bd.setAntiAlias(false);
于 2012-05-04T04:17:38.140 回答