如何找到Android画布的drawable中心

时间:2014-01-16 05:17:39

标签: android android-layout canvas android-drawable

我有一个可绘制的资源,我需要在画布上绘制。我需要将drawable置于(x,y)点的中心位置。现在,如果我canvas.drawBitmap(mBitmap, x, y, mPaint)(x,y)代表(left,top)。有谁知道我如何得到我的drawable的中心所以我可以正确地把它放在画布上?

2 个答案:

答案 0 :(得分:3)

一个简单的数学......

    int centerX = drawable.getIntrinsicWidth() / 2;
    int centerY = drawable.getIntrinsicHeight() / 2;

答案 1 :(得分:2)

获取画布的宽度和高度。 现在,您需要在width / 2和height / 2上绘制它。

要更加居中,可以从位图宽度的宽度/ 2的一半减去,并从位图高度的高度/ 2减半。

canvas.drawBitmap(mBitmap, width/2-mBitmap.getWidth()/2, height/2-mBitmap.getHeight()/2, mPaint);