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