3

私は実際にゲームに取り組んでおり、キャンバスのためにバックアップが必要です。

キャンバスで背景を描いています。だから私は私たちが取り組んでいる画面の解像度に正確に合わせて絵を作りました。デバイスでは、画像が小さすぎて画面に収まりません。ドローが小さくする何かを見逃しましたか?

ここにいくつかのコードがあります

public class Map extends View{
int[][] mapArray = new int[32][18];
private Bitmap picture;
private Paint paint;

public Map(Context context){
    //basic init map
    super(context);

    this.setPicture(BitmapFactory.decodeResource(context.getResources(), R.drawable.newmap2));
}


public Bitmap getPicture() {
    return picture;
}

public void setPicture(Bitmap background) {
    this.picture = background;
}

@Override
protected void onDraw(Canvas canvas) {
    canvas.drawBitmap(picture, 0, 0, paint);
}

あなたが私を助けてくれることを願っています 敬具 ベン

4

3 に答える 3

1

おそらく、ビットマップを高 dpi ディレクトリ (例: res/drawable-xhdpi) に配置し、デバイスの dpi が低くなっていますか? この場合、画像は開いたときに縮小されます。あなたがしていることは安全ではありません。他のデバイスには他の画面サイズがあります。

于 2012-11-06T20:19:23.613 に答える
0

このコード セグメントでは、ディスプレイのサイズを使用して、画像の読み込み時に発生するダウン サンプリングの量を決定する方法について説明します。それがあなたを助けることを願っています

Display currentDisplay = getWindowManager().getDefaultDisplay();
int dw = currentDisplay.getWidth();
int dh = currentDisplay.getHeight();
于 2012-11-06T20:25:00.697 に答える
0

お使いのデバイスの DPI (ピクセル密度) が大幅に異なる場合があり、おそらくはるかに高いため、画像が実際よりもはるかに小さく見える場合があります。それらがどのように異なるかを正確に示す画像がある場合は、問題をデバッグしやすくなります。

于 2012-11-06T20:19:23.507 に答える