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 に答える