1

描画するビットマップを読み込んでいますが、画面の右から約 25px ずれています。なぜこれが起こっているのかわかりません。

   scaleWallpaperBitmap(R.drawable.board2);
   canvas.drawBitmap(board, 0, topOffset, null);

   private void scaleWallpaperBitmap(int res) {
      // read bitmap in project
      BitmapFactory.Options options = new BitmapFactory.Options();
      options.inJustDecodeBounds = true;
      BitmapFactory.decodeResource(getResources(), res, options);
      int imgH = options.outHeight;
      int imgW = options.outWidth;

    // get new bitmap and find how to center it
    if (imgH == imgW) {
        // easy case of a square wallpaper
        if (screenH > screenW) {
            board = decodeSampledBitmapFromResource(getResources(), res,
                    screenW, screenW);
            verticalBitmapOffset = true;
            horizontalBitmapOffset = false;
            topOffset = (screenH - board.getHeight()) / 2;
        } else {
            board = decodeSampledBitmapFromResource(getResources(), res,
                    screenH, screenH);
            horizontalBitmapOffset = true;
            verticalBitmapOffset = false;
            leftOffset = (screenW - board.getWidth()) / 2;
        }
    } else {
        // ratio is now involved
    }
}

残りのメソッドは、ここの Android ドキュメントからのものです...

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

画像はほぼ完全に拡大縮小され、垂直方向の中央に配置されていますが、本来あるべき全画面幅ではありません。右余白に約 25 px の空き領域があります。

どんなフィードバックも素晴らしいでしょう!

ありがとう

4

0 に答える 0