获取画布的中心点

时间:2012-07-27 07:53:08

标签: java android android-canvas

我制作了一个画布,我在上面设置了一个图像,但我希望该图像应该位于每个屏幕的中心。当我像tab,galaxy等更改屏幕时,它应该从自身中获取大小。但是我的下面的代码我每次都会在屏幕的右下角收到一张图片。

这是我的代码:

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    this.w = w;
    this.h = h;
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    Bitmap b = BitmapFactory.decodeResource(getResource(), R.drawable.north_india);
    canvas.drawBitmap(b, w/2, h/2, mPaint);
}

1 个答案:

答案 0 :(得分:0)

从左上角绘制图像。因此,您需要更正图像尺寸。

canvas.drawBitmap(b, (w - b.width()) / 2, (h - b.height()) / 2, mPaint);