描画するビットマップを読み込んでいますが、画面の右から約 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 の空き領域があります。
どんなフィードバックも素晴らしいでしょう!
ありがとう